2014-05-20 14 views
0

請建議一些答案。 1.腳本會彈出一個框,詢問輸入的excel。如何複製輸入excel表單的位置並使用相同的位置保存新的excel表單

Set ObjFSO = CreateObject("Excel.Application") 

SPREADSHEET_PATH = ObjFSO.GetOpenFileName("Excel Files (*.xls;*.xlsx),*.xls;*.xlsx") 
  1. 現在做的所有驗證後,我打算創建一個新的Excel表問心無愧更新值。和我使用

    strSSFileName = 「C:\用戶\桌面\ New.xlsx」 設置xlApp1 =的CreateObject( 「Excel.Application」) 集xlBook = xlApp1.WorkBooks.add() xlBook.saveAs( strSSFileName)

我不想要HARDCODE的位置,因爲它將永遠成爲特定位置。

請提出一些答案。

+0

那麼,什麼是你的問題是什麼呢?你想覆蓋從GetOpenFileName調用獲得的名字的文件嗎? – MP24

+0

我希望在運行腳本時動態地將新的excel放置在同一位置。 –

+0

腳本流程: 1.它會要求輸入excel。 2.根據邏輯進行驗證。 3.完成之後,它將捕獲新的excel表單中的數據,並且必須將其放在我獲得輸入excel的相同位置。但我希望它是動態的。 Dnt想要「HARDCODE」的位置。因爲它將成爲「特定位置」 –

回答

0

看起來你已經有了位置,即SPREADSHEET_PATH。您可以從完整路徑和文件名中提取路徑,然後通過使用提取的路徑並添加新文件名來保存新文件。 xlBook.SaveAs(extractedPath & "\" & "New.xls")

編輯: 這將保存在同一目錄下的文件,但不同的名稱

Dim extractedPath As String 
extractedPath = Replace(SPREADSHEET_PATH, ".xls", " NEW.xls") 
xlBook.SaveAs(extractedPath) 
+0

對不起,它引發錯誤「對象定義的錯誤」。並指向我寫xlBook.SaveAs(SPREADSHEET_PATH&「\」&「New.xls」)的位置,我用這種方式寫它。 FYI,SPREADSHEET_PATH = ObjFSO.GetOpenFileName(「Excel文件(* .xls; *。xlsx),*。xls; *。xlsx」) 請建議現在要做什麼? –

+0

您需要提取沒有文件後綴的文件名,例如通過用空字符串替換.xlsx。 – MP24

+0

你能詳細說明嗎? –

相關問題