Excelのマクロで、セル内の文字をファイル名にしたい
”プロト.xls”というExcelファイルの中に、以下の動作をするマクロを作成したいのです。
(1)”C:\顧客\顧客納期連絡.xls”というExcelファイルを開き、
それを”C:\顧客\A.csv”という名前のcsvファイルにする。
(2)”C:\顧客\A.csv”を”xxxxxxxxxxxxxxxxxx”(※注1)という名前にしてコピーする。
※注1:”xxxxxxxxxxxxxxxxxx”の部分は、”プロト.xls”ファイルのSheet”マスター”のセルD9から取得させる。
そのセルは、 C:\顧客\ABCDEF0215.csv と記述しています。
(3)コピー後、”C:\顧客\A.csv”を削除する。
-------------------------------------------------------------------
Sub 顧客納期連絡()
'
' 顧客納期連絡 Macro
' マクロ記録日 : 2010/2/15 ユーザー名 : xxxxxxx
'
'
ChDir "C:\顧客"
Workbooks.Open Filename:="C:\顧客\顧客納期連絡.xls"
ActiveWorkbook.SaveAs Filename:="C:\顧客\A.csv", FileFormat:=xlCSV, _
CreateBackup:=False
ActiveWorkbook.Save
ActiveWindow.Close
ActiveWorkbook.Save
Dim fname1 As String
Dim fname2 As String
fname1 = "C:\顧客\A.csv"
fname2 = Workbooks("プロト.xls"), Sheets("マスター"), Cells("D9")
FileCopy fname1, fname2
Kill "C:\顧客\A.csv"
End Sub
-------------------------------------------------------------------
上記のマクロを作成したのですが、FileCopyの行で、構文エラーか型に一致していない、
というエラーになりマクロ再生が停止します。
セルの内容をファイル名にしたいのですが、何か良い方法はございませんでしょうか?
私は超初心者なので、何卒宜しくお願い致します。
お礼
助かりました! 手動でファイルオープンする時は、Officeが勝手に制御してくれるのですが、マクロ同士で排他制御する方法が分からなくて困っていたところでした。 ありがとうございました。