VBA SaveCopyAs具有来自variables的文件path
我在VBA方面并不擅长,我想知道有人能帮助我。 有我的问题。
我不想将工作簿另存为文件夹,但取决于用户,path会更改。 所以,为了解决这个问题,我创build了这个代码:
Public Function MyDocsPathS() As String MyDocsPathS = Environ$("USERPROFILE") & "\" & "OneDrive\Soumission" End Function
这很好。 但是我不知道如何在SaveCopyAs函数中编写它。 我已经尝试了这个和其他方式没有成功:(见**之间的部分)
Sub Soumission() Sheets("Modèle Soumission").Visible = True **ActiveWorkbook.SaveCopyAs "MyDocsPathS & \S0000x.xlsm"** Sheets("Modèle Soumission").Visible = False Workbooks.Open (MyDocsPathS & ("S0000x") & ".xlsm") End Sub
谢谢你的帮助!
你的代码应该是这样的:
Public Function MyDocsPathS() As String MyDocsPathS = Environ$("USERPROFILE") & "\" & "OneDrive\Soumission" End Function Sub Soumission() Sheets("Modèle Soumission").Visible = True ActiveWorkbook.SaveCopyAs MyDocsPathS() & "\S0000x.xlsm" Sheets("Modèle Soumission").Visible = False Workbooks.Open MyDocsPathS() & "\S0000x.xlsm" End Sub
理论上,你可以使用MyDocsPathS() & "\S0000x.xlsm"
或者只使用MyDocsPathS & "\S0000x.xlsm"
(即不使用()
),但是我认为最好使用括号来表示它是一个被调用的函数,而不仅仅是一个variables。