2


0

私はExcelで書かれたアプリケーションとC / Pythonアドインの束を持っています。

アドインが使用するさまざまな設定ファイルの場所は、起動時にいくつかの環境変数によって決まります。 これらの環境変数に関連する問題を最も直接的な方法でデバッグしたいのですが、ワークシートに環境変数を表示させるExcel式を単に入力することはできますか

例を挙げましょう。

MyAddinコンポーネントによって使用されるXMLファイルへのパスを含む "* MYADDIN_XML_CONFIG "という名前の環境変数があります。 この環境変数が正しく設定されていないと、MyAddinは実行に失敗します。 引数として文字列 " MYADDIN_XML_CONFIG *"を取り、設定されていればenv-varの値を返す単一の単純な関数が欲しいのですが。 環境変数が設定されていない場合は、NONEまたはある種のエラーコードを返すべきです。

これはできますか?

参考までに、Windows XP上のMS Excel 2003。

3 Answer


5


これを行う組み込みのExcel式はわかりませんが、VBAモジュールでパブリック関数を作成できます。

文字列としてのパブリック関数Env(Variantとしての値)Env = Environ(Value)終了関数

その後、これをワークシートのユーザー定義式として使用します。

=Env("COMPUTERNAME")


1


VBA関数の `Environ(" MYADDIN_XML_CONFIG ")`を使います。


0


残念ながら、受け入れられたソリューションは、環境変数がその値を変更すると機能しません(Excelワークブックを再度開いても、セルの値は変わりません)。 もっと頻繁に更新したい場合は、何らかのイベントでセルの値を更新する必要があります。

例えば Worksheet_Activate(コードはVBAProject - > Microsoft Excel Objects - > Sheetに配置する必要があります)。

Private Sub Worksheet_Activate()範囲( "a1")=環境( "SOME_ENV_VARIABLE")終了

またはWorkbook_Open(コードはVBAProject→ Microsoft Excel Objects→ ThisWorkbookに配置する必要があります):

Private Sub Workbook_Open()範囲( "a1")= Environ( "SOME_ENV_VARIABLE")End Sub