VBA将Excelfile upload到Sharepoint。 运行时错误“1004”

大家好,我希望你能帮上忙。 我有一段代码,如果单元格A2更改为“Enter Your Country Here”以外的任何内容,它将在工作簿中使用A2中的新值replace所有“在此input您的国家/地区”。 这部分工作正常。 我遇到的问题是,一旦发生单元更改,我也希望工作簿保存到我们的Sharepoint环境。 但是,我一直在下面的行上得到运行时错误'1004'

SaveAs Filename:="http://teamspace.merck.com/sites/emea_efpia/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2Fsites%2Femea%5Fefpia%2FShared%20Documents%2FEFPIA%20Regional%20Reporting%20Team%2FDispute%20Management%2FDispute%20reports%20per%20market%2FGlobal%20Reporting&FolderCTID=0x012000FA7F4E9565D6274DAF9E871EA008299B&View=%7BB6EF0397-E24C-49DF-92EF-CB7015B60539" 

如果我用C盘或本地地址replaceSharepoint地址,它可以很好地工作。 我错过了什么吗? 我的代码是否可以修改为允许工作簿保存到Sharepoint? 我的代码是低于和往常一样,所有的帮助非常感谢。

 Private Sub Worksheet_Change(ByVal Target As Range) ThisFile = Range("A2").Value Dim cell As Range Dim sht As Worksheet Dim fnd As Variant Dim rplc As Variant fnd = "Enter Your Country Here" rplc = Worksheets("SearchCasesResults").Range("A2").Value For Each sht In ActiveWorkbook.Worksheets sht.Cells.Replace what:=fnd, Replacement:=rplc, _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _ SearchFormat:=False, ReplaceFormat:=False Next sht For Each cell In Range("A2") If cell.Value <> "Enter Your Country Here" Then SaveAs Filename:="http://teamspace.merck.com/sites/emea_efpia/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2Fsites%2Femea%5Fefpia%2FShared%20Documents%2FEFPIA%20Regional%20Reporting%20Team%2FDispute%20Management%2FDispute%20reports%20per%20market%2FGlobal%20Reporting&FolderCTID=0x012000FA7F4E9565D6274DAF9E871EA008299B&View=%7BB6EF0397-E24C-49DF-92EF-CB7015B60539" End If Next cell Worksheets("SearchCasesResults").Activate ActiveWorkbook.Close End Sub 

正如所要求的新编码

  Private Sub Worksheet_Change(ByVal Target As Range) ThisFile = Range("A2").Value Dim cell As Range Dim sht As Worksheet Dim fnd As Variant Dim rplc As Variant fnd = "Enter Your Country Here" rplc = Worksheets("SearchCasesResults").Range("A2").Value For Each sht In ActiveWorkbook.Worksheets sht.Cells.Replace what:=fnd, Replacement:=rplc, _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _ SearchFormat:=False, ReplaceFormat:=False Next sht For Each cell In Range("A2") If cell.Value <> "Enter Your Country Here" Then Application.SaveAs Filename:="\\teamspace.merck.com\sites\emea_efpia\Shared%20Documents\EFPIA%20Regional%20Reporting%20Team%2FDispute%20Management\Dispute%20reports%20per%20market\Global%20Reporting\["C:\Users\CONNELLP\Desktop\Claire Macro\CRO Countries\" & ThisFile & Format(Now(), "DD-MMM-YYYY hh mm AMPM").xlsm]", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False End If Next cell Worksheets("SearchCasesResults").Activate ActiveWorkbook.Close End Sub 

您正试图保存到一个页面,而不是一个文件夹。尝试将saveas行更改为:

 Application.SaveAs Filename:="//teamspace.merck.com/sites/emea_efpia/Shared%20Documents/EFPIA%20Regional%20Reporting%20Team%2FDispute%20Management/Dispute%20reports%20per%20market/Global%20Reporting/[FILENAME.xlsx]" _ , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False