我一直在尝试找到一种方法来为特定的Excel电子表格设置默认保存选项,其中打开默认文件位置,对话框中显示建议的文件名,默认文件类型是启用宏的工作簿(* .XLSM)。
我从研究中得出以下两个解决方案;但是,两个似乎都给我一个问题,其中三个保存对话框相互打开。
具体来说,单击保存按钮时,保存对话框将在正确的位置(“我的文档/ exceltests”)和正确的文件名(“AAAA”)打开。然后单击“保存”按钮,提示另一个保存对话框以完全相同的属性打开。单击此对话框上的“保存”后,工作簿将保存在正确的位置。但是,第三个对话框也会在“我的文档”的默认位置打开。
代码示例1
$s_date = '03/04/2016'.' '.date('h:i:s');
echo date('Y-m-d',strtotime($s_date));
代码示例2
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
With Application.FileDialog(msoFileDialogSaveAs)
.InitialFileName = "C:\My Documents\exceltests\AAAA"
.FilterIndex = 2
If .Show Then
ActiveWorkbook.SaveAs Filename:=.SelectedItems(1), _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
End With
End Sub
如果有人知道为什么会发生这种情况和/或如何修复它,我将非常感激。
答案 0 :(得分:0)
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Application.FileDialog(msoFileDialogSaveAs)
Application.EnableEvents = False
.InitialFileName = "C:\My Documents\exceltests\AAAA"
.FilterIndex = 2
If .Show Then
ActiveWorkbook.SaveAs Filename:=.SelectedItems(1), _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
Application.EnableEvents = True
End With
Cancel = True
End Sub