Edit: could I use powershell to create a list on SharePoint through VBA?
Não especificamente usando o Powershell, mas essa resposta tenta responder à pergunta:
Como criar uma lista no SharePoint por meio do VBA .
(1) Não sei ao certo o que exatamente você está tentando realizar, mas esse parece ser o snippet mais importante do código para pegar o material do Excel e depois escrevê-lo para uma lista de sharepoint :
Trechos do link seguem:
Pergunta original (somente as partes relevantes coladas aqui):
I have an automation report that users use to generate a customer report and I want to see who actually is using it and what parameters they are using. I have thought that if I create a hidden list on a sharepoint site, and at the end of the Excel macro I can take the parameters from the main excel page and write it out to a sharepoint list.
Esta é a resposta que pode funcionar (Postado para a pergunta acima):
Sub UpdateSpecificCells()
'If nobody has the file checked out
If Workbooks.CanCheckOut("http://excel-pc:43231/Shared Documents/ExcelList.xlsb") = True Then
Application.DisplayAlerts = False
'Open the file on the SharePoint server
Workbooks.Open Filename:="http://excel-pc:43231/Shared Documents/ExcelList.xlsb", UpdateLinks:=xlUpdateLinksNever
ActiveSheet.Cells(2, 7).Value = 100
ActiveSheet.Cells(3, 7).Value = 200
ActiveSheet.Cells(4, 7).Value = 300
'Close the workbook
Workbooks("ExcelList.xlsb").Save
Workbooks("ExcelList.xlsb").Close
End If
End Sub
Outro trecho como resposta à mesma pergunta :
Isso atualiza a lista do sharepoint via método de publicação do Listobject
Public Sub PublishList()
' Get the collection of lists for the active sheet
Dim L As ListObjects
Set L = ActiveSheet.ListObjects
' Add a new list
Dim NewList As ListObject
Set NewList = L.Add(xlSrcRange, Range("A1:G8"), , True)
NewList.Name = "PartsList"
' Publish it to a SharePoint site
NewList.Publish Array("http://sharepointportal.xxx.com/personal/xxx/_layouts/viewlsts.aspx?BaseType=0", _
"NewLists "), True
End Sub
Link para o conteúdo original aqui .
Dois outros links que podem ser úteis são os seguintes:
(2) Como adicionar itens a um SharePoint lista usando o Excel VBA?
Colando uma parte relevante da resposta aceita:
All data manipulations can be done through SharePoint Lists Web service named lists.asmx. You have to call into that web sevice. For instance UpdateListItems method should do what MS Access does now.
One option you can use to access the lists web sevice, is "Microsoft SOAP Toolkit" which has to be installed as office component (never done that, but here is an article describing it: http://oreilly.com/pub/h/1306
Another option is to use MSXML library (which is always available) and sending SOAP requests as simple HTTP requests. Then parsing the results as xml. There is an article showing examples how to do it: http://blogs.msdn.com/b/jpsanders/archive/2007/06/14/how-to-send-soap-call-using-msxml-replace-stk.aspx
(3) Código do VBA para inserir registros em uma lista de banco de dados do SharePoint
Não está colando nenhum conteúdo deste link, pois não tem certeza da sua pergunta se isso seria particularmente relevante para sua situação ou não. Por favor, clique no link para verificar ...
Duas outras referências pelas quais gostaria que você passasse:
(4) Atualize os dados em uma lista existente do SharePoint usando o VBA
Bem, isso não é o título exato da questão, mas esta parece ser a verdadeira pergunta feita lá. Isso pode ser útil para você.
(5) Atualize a lista do Sharepoint com novos valores de uma planilha do Excel (usando o VBA)
Por favor, dê uma olhada nas respostas para esta pergunta também ...
Eu acho que somente se você puder dar um esclarecimento detalhado sobre o que exatamente você pretende realizar, só então poderemos ajudá-lo ainda mais ...