2016-07-15 10 views
0

Wenn ich den folgenden Code verwende, wird keine Datei in den Sharepoint kopiert, aber der Code zeigt keinen Fehler. Kann mir hier jemand helfen?Datei auf Sharepoint hochladen: VBA

Dim SharepointAddress As String 
Dim LocalAddress As String 
Dim objNet As Object 
Dim FS As Object 

SharepointAddress= "\\xxxx\sites\xxx\xxx"    
' Where you will enter your location path 
LocalAddress = "yourfile path\test.xlsx"          
' Where you will enter the file path, e.g.: Excel file 
Set objNet = CreateObject("WScript.Network") 
Set FS = CreateObject("Scripting.FileSystemObject") 
If FS.FileExists(LocalAddress) Then 
FS.CopyFile LocalAddress, SharepointAddress 
End If 
Set objNet = Nothing 
Set FS = Nothing 
+0

kann jemand einige alternative Methode vorschlagen oder mir helfen, diese Abfrage zu lösen – user1553562

+0

Wenn dies keinen Fehler werfen, sind Sie sicher, dass Sie verwenden der richtige Weg? –

+0

Ja benno..der Dateipfad ist richtig .. Muss ich den Namen der Datei angeben, während ich den lokalen Adresspfad gebe? – user1553562

Antwort

0

Versuchen unten genannten Leistungs Shell Schritte Ihr Dokument zu laden, oder versuchen zu kopieren und Ihre Dokumente per Explorer-Ansicht

$WebURL = <site url(http://portal.contoso.com/sites/stuff)> 
$DocLibName = "<document library name>" 
$FilePath = "file path(your local machine)" 
$Web = Get-SPWeb $WebURL 
$List = $Web.GetFolder($DocLibName) 
$Files = $List.Files`enter code here` 
$FileName = $FilePath.Substring($FilePath.LastIndexOf("\")+1) 
$File= Get-ChildItem $FilePath 
$Files.Add($DocLibName +"/" + $FileName,$File.OpenRead(),$false) 
$web.Dispose() 
0

Abhilfe 1 (Shell verwenden, um in WebDav dir kopieren):

Shell "cmd.exe /k net use x: http://spsite/doclib" 
Shell "cmd.exe /k copy c:\file.doc x:" 
Shell "cmd.exe /k net use x: /delete" 

Abhilfe 2:

Verwendung vba Shell mit einiger Konsolenanwendung, es zu tun witho ut Netto-Laufwerk zum Beispiel WinSCP oder DavCopy oder Locken oder sogar Powershell (siehe more)