2018年8月7日火曜日

[Excel]開いているExcelファイルのディレクトリを取得する

Excelファイルのある場所
「D:\work\temp\text.xlsx」

①ファイル名を含むフルパスを取得する。


=CELL("filename")

⇒「D:\work\temp\text.xlsx」


②ファイル名のみを取得する


=TRIM(RIGHT(SUBSTITUTE(①のセル,"\",REPT(" ",100)),100))


⇒「text.xlsx」


解説

SUBSTITUTEは置換関数。REPTは繰り返し表示関数。

フルパスセルの「\」部分をまず、100個のブランクに変換する。

⇒ 「D:百個のブランクwork百個のブランクtemp百個のブランクtext.xls」

これを、右から100文字分取得している

⇒ 「xxx個のブランクtext.xslx」

最後にTRIMをかけてブランクを除去する

⇒ 「text.xlsx」

ファイル名が100文字以上あると正確に表示されなくなることに注意


③ディレクトリ名を取得する


=SUBSTITUTE( ①のセル,②のセル,)

⇒「D:\work\temp\」

①のフルパスセルのうち、②のファイル名のみを空に置換している =フルパスからファイル名を除去している。

0 件のコメント:

コメントを投稿

[WPF]コンボボックスにデータバインド

コンボボックスとのデータバインディングを試してみる コンボボックスとバインドする コンボ表示項目の設定 選択値に曜日Enum(Key部)がセットされるようにする ...