|
▼チキ さん:
おはようございます。
>最終的にこのように書き直してみたのですが、
>
>以下の
>
>ファイル名 = "C:\Documents and Settings\Owner\デスクトップ\為替レート\USD_JPY\レート\" & "取得フォルダ名" & "\ USD_JPY_bid.csv"
>
>のところで
>
>実行時エラー"1004"
>'C:\Documents and Settings\Owner\デスクトップ\為替レート\USD_JPY\レート\" & "取得フォルダ名" & "\ USD_JPY_bid.csv'が見つかりません。
>と出てしまいます。
>
>これは取得フォルダ名が文字列変数として認識されていないということなのでしょうか?
そうです、そのとおりです。
""で囲むのは文字列です。取得フォルダ名というのは文字列変数ですよね?
""(ダブルコーテーション)で囲んでしまうと「取得フォルダ名」という文字列が
ファイル名という変数の中に他の文字列と一緒に設定されてしまいます。
よって、ファイル名という変数にはいつも同じ文字列が設定されることになってしまいます。
>もしくはこのような構文は全く見当違いなのでしょうか?
>全く分かりません。
>
>どなたか教えて下さい。お願いします。
>
>
>Sub 貼り付ける()
>
>Dim 取得フォルダ名 As String
>Dim ファイル名 As String
>
>行 = 2
>列 = 1
>取得フォルダ名 = Workbooks("USD_JPYチャート").Sheets("フォルダ名").Cells(行, 1).Value
>
>Do While 取得フォルダ名 <> ""
>
ファイル名 = "C:\Documents and Settings\Owner\デスクトップ\為替レート\USD_JPY\レート\" & 取得フォルダ名 & "\USD_JPY_bid.csv"
' 取得フォルダ名は、""で囲まない
' "\ USD_JPY_bid.csv"の\とファイル名の間は詰めてください
>Workbooks.Open Filename:=ファイル名
>Sheets("USD_JPY_bid").Range("A1:B10000").Copy
>Workbooks("USD_JPYチャート").Sheets("レート").Cells(1, 列).Paste
Workbooks("USD_JPY_bid.csv").close False
'開いたブックは閉じなければなりませんね
doevents
>行 = 行 + 1
>列 = 列 + 2
取得フォルダ名 = Workbooks("USD_JPYチャート").Sheets("フォルダ名").Cells(行, 1).Value
' 新たなフォルダ名も設定しないと次に進まないし、今度は、終わりませんよ!!
>Loop
>
>End Sub
ざっと見た限り、気が付いたのはこんなところです。
|
|