質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

9281閲覧

Excel VBAでエラーログの出力方法で、お勧めの方法があれば教えて頂けないでしょうか?

GiveAHand

総合スコア286

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

1グッド

2クリップ

投稿2016/04/07 00:59

EXCEL VBAでツールなどを作成しています。

簡単なものならさほど気にならなかったのですが、EXCEL VBAとはいえ、大掛かりになってくると、運用後のトラブル対応のために、エラーログもしっかりしておきたいと思うようになりました。

その際、エラーログをどう出力するかなんですが、思いつくのは、

VBA

1On Error GoTo myError

でエラー出力をして、結果をファイルに書きだすというものですが、何かスマートに出来る方法は無いかなと探しております。

何かお勧めの方法などあれば、教えて頂けないでしょうか?

mmm_x👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ログファイルに出力ということでしたら、たいていの業務アプリでは、ログ出力用の関数なりクラスを作って、それを呼び出すような作りが多いと思います。
呼び出すタイミングは On Error Goto の飛び先でもいいですし、デバッグするのに必要な情報が得られる場所で呼べばいいでしょう。
ログを出すようにしたはいいけど、デバッグする情報が足りなかった、では意味がないですからね。

ん?スマートにできないか?という質問なので、もっと簡単にできないかってことでしょうか?
エラーが出たら共通処理に自動で飛んで勝手にログ出力するとか?
不可能ではないでしょうが、それで必要な情報が全て得られますかね?
ログの処理は必要な場所に地道に組み込んでいくしかないと思います。

それからログファイルを出力するということは、そのファイルのケアも考えないといけません。
今どきのPCならログファイルを置くくらいの余裕は十分あると思いますが、念のため、古いログファイルを削除する処理を起動時に組み込むとか、日次や月次で動く削除用のアプリを別途用意するとか、何かしら考えた方が良いと思います。

投稿2016/04/07 02:18

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GiveAHand

2016/04/07 02:21

ttyp03様 ご丁寧な回答ありがとうございます。 何かしらいい方法が無いかと考えていたんですが、やっぱりそのシステムに合わせて自作がいいみたいですね。 ありがとうございました!
guest

0

OFFICE-VBA や、EXCEL-VBA 縛りがあるかどうか、
XLL 、VSTO 、Microsoft.Office.Interop.Excel は、視野に入っているかで
解答が変わってくると思います。

VBA6/7 系といえども、古いパターンでのClass 化可能(1990年代的class)ですから、
どの様な、コード構造になっているかも、影響してきます。

投稿2016/04/07 01:34

daive

総合スコア2028

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GiveAHand

2016/04/07 02:23

daive様 使っているのはExcel2013ですが、すいませんXLLだとかVSTOというのは、言葉も初めて知りました。 私が無知なようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問