プロが教えるわが家の防犯対策術!

下記を実行した所、C:\excel.xlsのセルA1に「1」と記述されました。

【ソース】
Private Sub コマンド0_Click()
Dim objExcel As Object

Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open FILENAME:="C:\excel.xls"

objExcel.Range("A1") = 1

objExcel.Application.ActiveWorkbook.Save
objExcel.Application.Quit
End Sub

しかし、C:\excel.xlsが存在しない状態で実行すると下記のエラーメッセージが表示されました。

【エラーメッセージ】
実行時エラー '1004'
'C:\excel.xls'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。

上記現象を回避する為には、毎回空のExcelファイルを出力した上でセルに値を書き込めば良いと思いましたが、空のExcelファイルを出力する方法が分かりませんでした。

その為、何かアドバイスをいただける方がいらっしゃいましたら、どうかよろしくお願いします。

A 回答 (1件)

これでいかがでしょうか。

標準モジュールに置いて試験しました。(Office2000)
Sub excelTest()
Dim objExcel As Object
Dim wbk As Object

Set objExcel = CreateObject("Excel.Application")
Set wbk = objExcel.Workbooks.Add
wbk.sheets(1).range("A1").Value = 1
wbk.SaveAs Filename:="C:\excel.xls"
wbk.Close
objExcel.Application.Quit
End Sub
    • good
    • 0
この回答へのお礼

ご教示いただいたソースを試させて頂いた所、意図した動作となりました。
どうもありがとうございました。

お礼日時:2008/10/20 01:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!