Page 313 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ファイル名を変数に置き換えて開けますか? KEN 02/11/7(木) 14:09 ┗Re:ファイル名を変数に置き換えて開けます... コロスケ 02/11/7(木) 15:41 ┗フルパスで書く他に方法はないでしょうか? KEN 02/11/8(金) 12:18 ┗Re:フルパスで書く他に方法はないでしょう... コロスケ 02/11/8(金) 17:02 ┗有難うございます。解決しました。 KEN 02/11/8(金) 19:24 ─────────────────────────────────────── ■題名 : ファイル名を変数に置き換えて開けますか? ■名前 : KEN ■日付 : 02/11/7(木) 14:09 -------------------------------------------------------------------------
いつもお世話になっています。 Book名を変数を使用して開くにはどうしたらよいでしょうか? たとえば Sub Test() Dim Book As Variant Book = ブックA Workbooks.Open Filename:="c:\Book\pmp72035.csv".CSV").Close False End Sub だと開けません。 お願いいたします。 |
▼KEN さん: こんにちは。えーと、開きたいのですか?閉じたいのでしょうか? Option Explicit Sub Test() Dim BOOK As String '文字ですからString型で良いでしょう。 BOOK = "ブックA.xls" 'カレントパスにないとエラーになりますので、 'フルパスで書く必要があれば、パスも含めて書いてください。 Workbooks.Open Filename:=BOOK End Sub |
ありがとうございました。 ▼KEN さん: >こんにちは。えーと、開きたいのですか?閉じたいのでしょうか? すいません開いたり閉じたりしたかったのです。失礼しました。 Dim BOOK As String BOOK = "ブックA.xls" 'カレントパスにないとエラーになりますので、 Workbooks.Open Filename:=BOOK End Sub なるほど、わかりました・・・・ でも、カレントパスって??? 実はいくつかのフォルダ、例えばフォルダA,フォルダB,フォルダC...の 中にあるpmp72035.csvと言う同じ名前のデータがありまして、Aを開いて マクロを記述してあるブックのワークシートにコピーして閉じて 今度はBを開いて先ほどコピーした行の下にコピーして閉じて 次はCを開いてそのまた下にコピーして閉じて・・・・としたいのです。 フォルダのパス名だけが変わってあとは同じパス名を使用した、 繰り返しのマクロを記述したいのです。 説明の仕方がうまくありませんが、出来ましたらお願いいたします。 |
▼KEN さん: こんにちは。コメント付きの簡単なサンプルコードを書いてみました。 適宜環境に合わせて変更してみてください。不明点はまた質問してくださいね。 ではー♪ Sub Test() '// 定数・変数宣言 Const strCsvFn As String = "pmp72035.csv" 'CSVファイル名(固定) Dim strFolderN(1 To 3) As String 'フォルダまでのパス格納用 Dim intCnt As Integer 'カウンタ用変数 '//フォルダまでのパスを変数に格納する strFolderN(1) = "C:\フォルダA\" 'フォルダAのパス strFolderN(2) = "C:\フォルダB\" 'フォルダBのパス strFolderN(3) = "C:\フォルダC\" 'フォルダCのパス '//ループで回す '//詳細がわからないので、CSVを開いて、各ファイルのA1セルの値を '//A1からA3にコピペします。終わったらCSVを閉じます。 For intCnt = 1 To 3 Workbooks.OpenText Filename:=strFolderN(intCnt) & strCsvFn [A1].Copy ThisWorkbook.ActiveSheet.Cells(intCnt, 1) ActiveWorkbook.Close False Next End Sub |
コロスケさん有難うございました。 やっと解決しました。 今まで同じようなコードをいくつも書いていたのが かなりすっきりしました。 感動ものです!! これからも宜しくお願いします。 |