- ベストアンサー
データ追跡 テンプレートウィザードを使用時、名前をつけて保存するマクロ
- データ追跡テンプレートウィザードを使用してマクロを作成したり、名前をつけて保存する方法について教えてください。
- 使用しているエクセルは2000です。マクロのコードが正しく動作しません。マクロのコードの修正方法を教えてください。
- 見積書テンプレート内にボタンを設置し、任意の名前で保存し、同時にデータベースに転記する方法を教えてください。
- みんなの回答 (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"的なものを自作したほうが早そうなので これ以上の深追いはご勘弁を。
お礼
早速のご回答、ありがとうございます! なるほど、マクロを指定して実行すれば良かったのですね。 自分では、とても考え付かなかったアイデアです。 お陰様で、無事運用できました。 ありがとうございました。