• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データ追跡 テンプレートウィザードを使用時、名前をつけて保存するマクロ)

データ追跡 テンプレートウィザードを使用時、名前をつけて保存するマクロ

このQ&Aのポイント
  • データ追跡テンプレートウィザードを使用してマクロを作成したり、名前をつけて保存する方法について教えてください。
  • 使用しているエクセルは2000です。マクロのコードが正しく動作しません。マクロのコードの修正方法を教えてください。
  • 見積書テンプレート内にボタンを設置し、任意の名前で保存し、同時にデータベースに転記する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

マクロで保存するとアドインマクロが実行されないようですね。 いずれにしても、[データベースに保存]ダイアログを出して、 更新か追加かキャンセルか、の応答が必要になるので WZTEMPLT.XLAのマクロを指定して直接実行させるような対処になるかと思います。 http://www.ozgrid.com/forum/showthread.php?t=43322 Sub try()   Dim fname      On Error GoTo errHandler   Application.Run "WZTEMPLT.XLA!Commit"   'Sheet名は適宜変更してください   fname = Sheets("Sheet1").Range("AA1") & ".xls"   With ThisWorkbook     .SaveAs Filename:="C:\Documents and Settings\natsuko\デスクトップ\mitsumori\log\" & fname, _         FileFormat:=xlNormal     'If MsgBox("Closeします。", vbOKCancel) = vbOK Then       .Close     'End If   End With   Exit Sub errHandler:   MsgBox Err.Number & ":" & Err.Description End Sub ファイル名に使えない文字でエラーになった場合などの対応は On ErrorステートメントでExcelに任せてます。 ただ、[データベースに保存]ダイアログで[キャンセル]した場合でも 保存とCloseの処理が進んでしまうのが難点です。 これを解消するには"WZTEMPLT.XLA"の解析が必要になると思われ、 流石にそれはMicrosoftに怒られるかと... それにウィザード機能を抜いた"WZTEMPLT.XLA"的なものを自作したほうが早そうなので これ以上の深追いはご勘弁を。

natsuko1984
質問者

お礼

早速のご回答、ありがとうございます! なるほど、マクロを指定して実行すれば良かったのですね。 自分では、とても考え付かなかったアイデアです。 お陰様で、無事運用できました。 ありがとうございました。

関連するQ&A