• ベストアンサー

今開いているエクセルのファイル名をセルに取り込みたい

日付(yymmdd.txt)の付いた名前のテキストファイルを 自動的にエクセルにCSVで取り込む様に、マクロを組みました。なので、このファイル名に日付が付いているので、この日付をどうにかしてエクセルに取り込みたいのですが、方法をご存知無いですか? TXTとエクセルは同じフォルダに入れて管理する予定なので、エクセルファイルの居るフォルダ内のファイル名を取り込むのでも構いません。 どなたか良い案ありませんか? よろしくおねがいします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

下記では参考になりませんか。 Sub test01() Cells(1, 1) = "'" & ActiveWorkbook.Name Cells(1, 2) = "'" & ActiveSheet.Name Cells(2, 1) = "'" & Left(ActiveWorkbook.Name, 6) Cells(2, 2) = "'" & Left(ActiveSheet.Name, 6) End Sub ブック名かシート名かハッキリしないので両方挙げた。 上例ではブック名が041201などの場合。20041201の場合は8に変えること。

shinarin
質問者

お礼

アドバイス有難うございます。 早速やってみました。 すんなり両方の数値が取れました。 このやり方を採用して、仕事を進めてみます。 有難うございます

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

やっているのは、 VBAで? それともワークシートで? 取り出した、ファイル名はワークシートに入れる? 組んだマクロでファイル名の部分は、どうなっているのですか? 何かのタイミングで指定するのでしょうか? それとも直打ち? VBAでシート名は、 ActiveSheet.name で取り出せますが。 よろしければ、CSV取り込みのマクロの部分を補足であげてもらえないでしょうか?

shinarin
質問者

お礼

アドバイス有難うございます。 ActiveSheet.nameの組み込み方がわからなかったのですが、解決できました。 どうも有難うございます。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

ファイルを指定して開く行為は、人間の処理ですか? 開いてあるExcelファイル(ブックでもテキストでも)の名前は VBA上で「ThisWorkbook.Name」です。

shinarin
質問者

お礼

マクロにTEXTオープンというのを作って有り、 それを実行するとテキストがCSVでエクセルに開かれるようにしています。 私の知識が曖昧なので、うまく操作できませんでしたが、なんとか、ファイル名は取れるようになりました。 アドバイス有難うございました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

既に、ファイルを取り込むことができているのだから、ファイル名は、既に取り込めていると思いますが、日付部分だけを取り出したいということなのでしょうか? left(filename,len(filename)-4)で.txtを除いて取り出せますが。 また、違う目的・操作なのでしょうか?

shinarin
質問者

補足

早速の回答ありがとうございます。 今この関数を貼り付けて見ましたが、エラーが出てしまいます。=の後ろに上の式を入れるのではダメなのでしょうか?確かにファイルが取り込めているので、 シート名もそれになっているので、いずれかから、 日付の6桁を取り出せれば良いのですが、 うまくできないのです。 宜しくお願いします。