Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何获得;另存为;使用宏生成的新文件中的选项。_Vba_Excel - Fatal编程技术网

Vba 如何获得;另存为;使用宏生成的新文件中的选项。

Vba 如何获得;另存为;使用宏生成的新文件中的选项。,vba,excel,Vba,Excel,我编写了一个从工作簿中提取工作表的代码。 问题是工作表被提取并创建为新文件,保存在我的文档中或某个随机位置。我是否可以得到一个提示窗口,该窗口提供“另存为”选项?所以我可以把它保存在我想要的位置 通过在这个论坛上搜索,我尝试了两种不同的方法 With Dialogs(wdDialogFileSaveAs) .Name = "MyTitle" .Show 我也很累 App.SendKeys("{F12}") enter code here 但它给了我错误 这是我的代码,任何人都可以帮忙。我不

我编写了一个从工作簿中提取工作表的代码。 问题是工作表被提取并创建为新文件,保存在我的文档中或某个随机位置。我是否可以得到一个提示窗口,该窗口提供“另存为”选项?所以我可以把它保存在我想要的位置

通过在这个论坛上搜索,我尝试了两种不同的方法

 With Dialogs(wdDialogFileSaveAs)
.Name = "MyTitle"
.Show
我也很累

App.SendKeys("{F12}")
enter code here
但它给了我错误

这是我的代码,任何人都可以帮忙。我不确定我到底能把它放在哪里。(可能会有一些额外的不必要的东西,因为我不知道代码是如何工作的,但不知怎么的,我正在努力让它工作)

Sub-GetCalcs()
将名称设置为字符串
将ws设置为工作表
Application.EnableEvents=False
对于ActiveWorkbook.Sheets中的每个ws
ws.Visible=xlSheetVisible
下一个
Flname=“计算-”&InputBox(“输入泵位号P-XXXX:”)&xls”
图纸(阵列(“计算”)。副本
newfilename=Flname
使用ActiveWorkbook
.SaveAs newfilename,文件格式:=50
.关闭0
以
对于ActiveWorkbook.Sheets中的每个ws
如果ws.Name“Main Calc”,那么
ws.Visible=xlSheetVeryHidden
如果结束
下一个
Application.EnableEvents=True
端接头

我认为您希望在文件名中包含路径。只需在文件名中添加一个文件路径,您就可以了

Flname={要保存到的路径}&“计算-”& 输入框(“输入泵位号P-XXXX:”)和“.xls”

如果要自定义每次保存到的位置,只需弹出一个提示框

使用ActiveWorkbook saveLocation=应用程序.InputBox(提示:=“请输入save” 位置:,标题:=“保存位置”, 默认值:=“C:\Users\User\Documents”,类型:=2)

Flname=“计算-”&输入框(“输入泵位号p-XXXX:”)& “.xls”表(数组(“计算”))。副本

newfilename=saveLocation&Flname

.SaveAs newfilename,FileFormat:=50。对于中的每个ws,关闭0结束 如果ws.Name为“Main Calc”,则为ws.Visible,则为ActiveWorkbook.Sheets= xlSheetVeryHidden

如果结束

下一个


我认为您希望在文件名中包含路径。只需在文件名中添加一个文件路径,您就可以了

Flname={要保存到的路径}&“计算-”& 输入框(“输入泵位号P-XXXX:”)和“.xls”

如果要自定义每次保存到的位置,只需弹出一个提示框

使用ActiveWorkbook saveLocation=应用程序.InputBox(提示:=“请输入save” 位置:,标题:=“保存位置”, 默认值:=“C:\Users\User\Documents”,类型:=2)

Flname=“计算-”&输入框(“输入泵位号p-XXXX:”)& “.xls”表(数组(“计算”))。副本

newfilename=saveLocation&Flname

.SaveAs newfilename,FileFormat:=50。对于中的每个ws,关闭0结束 如果ws.Name为“Main Calc”,则为ws.Visible,则为ActiveWorkbook.Sheets= xlSheetVeryHidden

如果结束

下一个

那么:

Application.GetSaveAsFilename
那么:

Application.GetSaveAsFilename

不,它不起作用。对不起,可能是我解释得不对。我正在寻找的东西,会问我,每次我想把文件保存在哪里。不,它没有工作抱歉,可能是我没有解释正确。我正在寻找一些东西,每当我想把文件保存到哪里时都会问我。竖起大拇指+微笑我刚刚意识到它给了我一个弹出窗口和另存为选项。但它不会将任何东西保存到该位置或任何地方。您能否帮助我们如何使用它,以便将新生成的文件保存到所需的位置?或者我需要定义任何变量等?竖起大拇指+微笑我刚刚意识到它给了我弹出窗口和另存为选项。但它不会将任何东西保存到该位置或任何地方。您能否帮助我们如何使用它,以便将新生成的文件保存到所需的位置?或者我需要定义任何变量等吗?