• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel2013 モジュールをVBAで書換えたい)

Excel2013モジュールをVBAで書換える方法

このQ&Aのポイント
  • 現行使用しているモジュール内に記述されているファイル名をVBAで書き換える方法について説明します。
  • モジュール内には複数のファイル名が記述されているため、その年のファイル名を修正するのは一苦労です。
  • そこでVBAのコードを変換するためのフォームを作成し、前年のファイル名を当年のファイル名に置換する方法を試みましたが、実行時エラーが発生しました。

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

  • ベストアンサー
回答No.1

Excel2010でのお話ですが2013でも通用する部分があるかと。 VBAでVBAのコードを変更するのは 目的が異なれ一時期猛威を振るったマクロウィルスと やっていることは同じです。 セキュリティセンターの「マクロの設定」から VBA プロジェクト オブジェクト モデルへのアクセスを信頼する にチェックを入れる必要がありますが セキュリティレベルは下がります。 VBAでパブリック変数を設定し、変更が必要になった時には 手作業で修正する。 他のコードではこのパブリック変数を参照する。 パブリック変数の代わりに適当なシートに書き込んでおいて これを参照。 CustomDocumentProperties に設定する。 http://officetanaka.net/excel/vba/tips/tips122.htm なども考えられては?

mattbianco2011
質問者

お礼

NotFound404さん こんばんはお世話になります。いま仕事から帰って来ました。パブリック変数の件、了解です。 この処理は1年に1回の期首切替の処理で、使っているユーザーさんはプログラム開発とは無縁のかたで、 この部分も簡素化できればと考えたものです。 CustomDocumentProperties に設定する。でユーザービリティも検討してみます。 ユーザーさんにできるだけラフに使って頂きたいもので。ご教示ありがとうございます。

その他の回答 (1)

回答No.2

>使っているユーザーさんはプログラム開発とは無縁のかた でしたら 1番目はユーザーさんにとってはハードルが高いかなと思います。 それに何をしでかすか分かりません。(^_^;) 3番目は現在の設定値を確認するにもVBAコードが必要です。 (1年に1回でしたらユーザーさんは(多分あなたも)マクロに書いていたのを忘れています) (あまり触らせたくない場合などには有効だとは思いますけど) なので、泥臭いかもしれませんが、 2番目の方法が確認もしやすくて良いかなと?思います。 入力してほしいセルのバックカラーを変えておいて その近くに、入力例と簡単な説明を置いとけば・・・。 いずれの方法でも 実際に使うユーザーにもよりますが 半角/全角、西暦/和暦、桁数、などのフォーマット 適切でない年などの誤入力 ファイルの存在有無 などのチェックが必要になって来るかもです。+シート保護とか。。。 私からは以上です。

mattbianco2011
質問者

お礼

NotFound404さん >2番目の方法 で仕掛けを考えています。ご教示頂きありがとうございます。

関連するQ&A