VSTO C# Excelアドインでアクティブブックのファイルパス・フォルダパスを取得する方法

C#

VSTOはVisual Studio Tools for Office の略で、officeのアドインやマクロ付きドキュメントを、VB.netやc#などで記述できるフレームワークです。Visual Studioで開発することができ、VBAとオサラバできるMS公式フレームワークです。

この記事では、c#で、Excelブックのファイルパス、ファイル名、フォルダパスを取得する方法を紹介します。

この記事で取得するもの

この記事では、ローカルドライブに保存されたExcelブックのファイル名、ファイルフルパス、フォルダパスを取得するコードを紹介します。

例えば、C:\Users\Administrator\Documents\Book1.xlsx というファイルがあった場合、

  • ファイルフルパス:C:\Users\Administrator\Documents\Book1.xlsx
  • ファイル名:Book1.xlsx
  • フォルダパス:C:\Users\Administrator\Documents

このようになります。

アクティブワークブックのフルパスを取得するコード

アクティブワークブックのフルパスを取得するには、FullNameプロパティを使用します。

public static string GetFullName()
{
    string fullName = Globals.ThisAddIn.Application.ActiveWorkbook.FullName;
    return fullName;
}

このコードを使ってファイルフルパスを取得するには以下のようにコードを記述します。

string fullName = "";
fullName = ThisAddIn.GetFullName();

フルパスからファイル名のみ抽出する

フルパスからファイル名を抽出するには、System.IO.Path.GetFileNameメソッドを使用します。ここではVSTOのフレームワークは使用せず一般的なc#プログラミングになります。

string fullName = "";
string fileName = "";

fullName = ThisAddIn.GetFullName();
fileName = System.IO.Path.GetFileName(fullName);

フルパスからフォルダパスを抽出する

フルパスからフォルダパスを抽出するには、同様にc#のメソッドであるGetDirectoryNameを使用します。先ほどのファイルフルパスを引数に渡すことで、フォルダパス部分のみを抽出することができます。

string fullName = "";
string folderPath = "";

fullName = ThisAddIn.GetFullName();
folderPath = System.IO.Path.GetDirectoryName(fullName);

ソースコード全文

ソースコード全文は以下のgithubリポジトリに格納しています。

コンパイルすれば動作しますので、Visual Studioをお持ちの方は遊んでみてください。

GitHub - harus0313/cliesx
Contribute to harus0313/cliesx development by creating an account on GitHub.


【VSTO】c#でExcelアドインやマクロ付きドキュメントを開発するためのサンプルコードをまとめました!ぜひ活用ください!

  1. VSTO c# Excelブックを読み取り専用/書き込みモードにする方法

  2. VSTO C# Excelアドインでシートを追加する方法

  3. VSTO C# Excelアドインでアクティブシートを削除する方法

  4. VSTO C# Excelアドインでアクティブシートをコピーする方法

  5. VSTO C# Excelアドインでセルの左詰め・右詰め・中央寄せ・選択範囲で中央にする方法

  6. VSTO C# Excelアドインでセルの上詰め・下詰め・上下中央にする方法

  7. VSTO C# Excelアドインでクリップボードパネルを表示・非表示する方法

  8. VSTO C# Excelアドインで数式バーを表示・非表示する方法

  9. VSTO C# Excelアドインでフルスクリーンモードをオン・オフする方法

  10. VSTO C# Excelアドインで目盛り線の表示・非表示を切り替える方法

  11. VSTO C# Excelアドインでカラーパレットを使って文字色を変える方法

  12. VSTO C# Excelアドインでアクティブブックのファイルパス・フォルダパスを取得する方法

  13. VSTO C# Excelアドインでアクティブワークシートのシート名を取得する方法

  14. VSTO C# Excelアドインで行や列をグループ化・グループ化解除する方法

  15. VSTO C# Excelアドインで選択したセルをマージ(結合)したり元に戻す方法

  16. VSTO C# Excelアドインで各種ダイアログを表示する方法

コメント

タイトルとURLをコピーしました