電子書籍の厳選無料作品が豊富!

VisualBasicのコーディングで既存のExcelファイルを開き、変更を加えた後同一ファイルに上書き保存したいのですが...
CreateObjectだと新規作成しか出来ないし、GetObjectで上書き保存するとExcelのページ違反が発生し強制終了されました。誰か詳しい方のアドバイスを待っています。
ついでに、保存時の上書き確認メッセージを表示しないようにする方法もわかれば教えていただきたいのですが...

A 回答 (1件)

参照設定で、Microsoft Excel9.0 Object Library 二チェックを付けてから、下記のようにコーディングします。



Private Sub Command1_Click()
  Dim ExcelApp As New Excel.Application
  Dim mySheet As Excel.Worksheet
  ExcelApp.Workbooks.Open "C:\Folder1\book1.xls"
  Set mySheet = ExcelApp.Workbooks(1).Worksheets("Sheet1")
  'Z1とZ2のセルに値を入力
  mySheet.Range("Z1") = 1
  mySheet.Range("Z2") = 2
  '上書き保存してから閉じる
  ExcelApp.Workbooks(1).Save
  ExcelApp.Workbooks(1).Close
  Set ExcelApp = Nothing
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました、うまくいきました。
考え方が間違っていたみたいですね。
excelに対してopenで開くというのは、ヘルプにも記述があったのですがついつい考えすぎ、getobjectに固執してしまいました。
また質問することがあると思いますが、その際にはよろしくお願いします。
親切な回答をありがとうございました!(^。^)/

お礼日時:2000/12/15 16:40

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