|
こんばんわ。
>ワークブックのBeforeSaveイベントで、自力でエクセルの保存処理
>を行っている
ってのは
>' EXCEL用のファイルダイアログを表示し、EXCEL形式で保存処理
とかの箇所で、GetSaveAsFilenameを使ってるってことなんかな?
ツールバーのボタンのクリックを取得して判断するしかないやろねー
↓こんなんかな?
(全部ThisWorkbookモジュール)
Private WithEvents Btn1 As CommandBarButton
Private WithEvents Btn2 As CommandBarButton
Private SaveFlg As Long
Private Sub Btn1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
SaveFlg = 1
End Sub
Private Sub Btn2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
SaveFlg = 2
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim FileSpec As Variant
If SaveAsUI Then
Select Case SaveFlg
Case 1
Cancel = True
FileSpec = Application.GetSaveAsFilename(, "Excel ブック (*.xls), *.xls")
If FileSpec <> False Then SaveAs FileSpec, xlNormal
Case 2
Cancel = True
FileSpec = Application.GetSaveAsFilename(, "Web ページ (*.htm), *.htm")
If FileSpec <> False Then SaveAs FileSpec, xlHtml
End Select
SaveFlg = 0
End If
End Sub
Private Sub Workbook_Open()
With Application.CommandBars
Set Btn1 = .FindControl(ID:=748)
Set Btn2 = .FindControl(ID:=3823)
End With
End Sub
一旦保存して、再度開くと有効になります。
試してみてな。
ほな。
|
|