0

アプリケーションが配置されている現在のディレクトリのパスを表す文字列にアクセスしようとしています。現在のディレクトリ内のファイルの名前を入力する必要があるビジュアルスタジオで作成されたExcelテンプレートがあります(ドキュメントが持っています)配置されている) とそのサブディレクトリ。実際に機能するソリューションがどこにも見つかりません。ソリューションの試みがいくつか見つかりまし。現在、ユーザーに目的のパスを入力してもらっていますが、パスを自動的に検索するか、これらの名前を収集する別の方法を見つけたいと考えています。

4

2 に答える 2

1

これは、ソリューションの配布方法によって異なります。Office アドインとテンプレートは、標準の ClickOnce モードで配布されると、AppData フォルダーのどこかに存在する暗号化された名前のフォルダー (別の暗号化された名前のフォルダー内) に配置されます。EXCEL.EXE 自体のパスを返す可能性が高いため、現在存在するアプリケーションのパスを取得する通常の方法を使用することはできません。This SO postは、VSTO ソリューションで現在のフォルダーを取得する良い方法を提供します。

または、MSI を使用してテンプレート/アドインを配布することを検討できます。これはパスが長く、多くの注意事項がありますが、アドイン/テンプレートを Program Files フォルダーにインストールすることになります。

于 2015-06-09T16:56:26.883 に答える
0

私は c# にはあまり詳しくありませんが、vb で行うことは次のとおりです。



    Dim dir as string = Application.StartupPath

Excel VBA でも同じことができます。



    Dim dir as string = Application.ActiveWorkbook.Path

于 2015-06-09T16:57:06.427 に答える