• ベストアンサー

VBから既存のExcelファイルを更新したい

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

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.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

rukaandkaito
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A