2015-05-25 92 views
1

嗨,我遇到此問題對象的「方法‘另存爲’‘_Workbook’失敗了。但我不知道究竟發生了。遭遇錯誤1004,但不知道該如何解決

我的代碼的目的是爲了複製從工作簿片並將其保存爲在SharePoint文件夾中的XLSB格式的單一。

Sub SheetSplit() 
    ' 
    'Creates an individual workbook for each worksheet in the active workbook. 
    ' 
    Dim wbDest As Workbook 
    Dim wbSource As Workbook 
    Dim sht As Object 
    Dim strSavePath As String 
    Dim sname As String 
    Dim relativepath As String 
    Dim TempWB As Workbook 
    Set wbSource = ActiveWorkbook 
     Sheet6.Copy 
     Set wbDest = ActiveWorkbook 

     sname = Sheet9.Range("I5") & ".xlsb" 
     relativepath = "C:\Users\" & Environ$("Username") & _ 
    "\SharePoint\Open Project Transition Check - Doc\Project Status Summary\" & sname 'use path of wbSource 
     'wbDest.Sheets(1).Range("A1").Clear 'clear filename from new workbook cell A1 
     CurrentFormat = ThisWorkbook.FileFormat 
     Application.DisplayAlerts = False 
     ActiveWorkbook.CheckCompatibility = False 
     ActiveWorkbook.SaveAs Filename:=relativepath, FileFormat:=xlExcel12 _ 
      , CreateBackup:=False 
     Application.Wait (Now + TimeValue("0:00:01")) 
     Application.DisplayAlerts = True 


     wbDest.Close False 'close the newly saved workbook without saving (we already saved) 

    'Next 

    MsgBox "Status Summary Saved" 

End Sub 
+0

已代碼爲你工作嗎? – 0m3r

回答

1

好開你的代碼有很多錯誤,以便讓清潔時間了。

在測試了Excel 2010中

Option Explicit 
Sub SheetSplit() 
    '// Creates an individual workbook for each worksheet in the active workbook. 
    Dim wbDest   As Workbook 
    Dim wbSource  As Workbook 
    Dim sht   As Object 
    Dim strSavePath As String 
    Dim sname   As String 
    Dim relativepath As String 
    Dim TempWB   As Workbook 

    Set wbSource = ActiveWorkbook 
     Sheets.copy 
     Set wbDest = ActiveWorkbook 

     sname = Sheets("Sheet1").Range("I5").Text & ".xlsb" 
     relativepath = "C:\Users\" & Environ$("Username") & _ 
     "\Desktop\Temp\" & sname 'use path of wbSource 

     Application.DisplayAlerts = False 

     ActiveWorkbook.CheckCompatibility = False 

     ActiveWorkbook.saveas FileName:=relativepath, _ 
           FileFormat:=50, _ 
           CreateBackup:=False 

     Application.Wait (Now + TimeValue("0:00:01")) 

     Application.DisplayAlerts = True 

     '// close the newly saved workbook without saving (we already saved) 
     wbDest.Close False 

     MsgBox "Status Summary Saved" 
End Sub 

SaveAs

要保存在服務器上使用\\server-name FYI它只能如果它是一個本地服務器,網絡

相關問題