• ベストアンサー

VBAからEXCELの新規ファイルを作成する

VB6.0 Excel2000を使用しています。 VBAからEXCELファイルを参照する方法は前回教えていただきましたが 新規にEXCELファイルを作成する方法がわからないので教えてください。 【やりたいこと】 ・ファイル名は、ダイアログボックスから入力され、フルパスで変数に  格納されています。 ・シート名は固定文字で指定します。 (↑ここまではできています) (↓ここからわかりません) ・セルの内容を編集したあと、指定のファイル名・シート名で保存したい よろしくお願いします。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

Open は、既に存在する book を開くときに使うメソッドです。 新規に book を作成する場合には、Add を使います。 たしか、こんな感じ。 objBook = objExcel.Workbooks.Add  … objBook.SaveAs Filename := ~

matyap
質問者

お礼

回答ありがとうございます。 全然違う方向に行っていました。 教えていただいた方法で試してみます。ありがとうございました。

その他の回答 (2)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 ちょっと横から口出しますが。 やりたいことって、元ファイルがあってそれを変更したものを、別のブックとして保存するということでしょうか。 それなら、No.1の補足のコードの後にWorkbookオブジェクトのSaveAsメソッドを使えばいいです。 SaveAsメソッドにFileNameの引数をつけるのは、いわゆる"別名で保存"という操作になります。 もし、指定名のブックを作成してセル編集なら、Addメソッドを使わないといけませんが。

matyap
質問者

お礼

おはようございます。 お礼が遅くなって本当に申し訳ありません。 新規のブックに作成する方法を当初考えておりNo2のやり方を採用したの ですが、もともとあるフォーマットに必要部分だけ設定する方法の方が 楽でしたので、教えていただいた方法も参考にさせていただきました。 ありがとうございました。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

> ・セルの内容を編集したあと、指定のファイル名・シート名で保存したい シート名は、もうついてます(「ここまではできています」の範囲)ので、後は workbook の SaveAs メソッドを使って保存します。 例えば、 ActiveWorkbook.SaveAs Filename:="c:\aaaa.xls" という感じ。

matyap
質問者

補足

早速の回答感謝します。 参照する時に以下のようにコーディングしていました。 これをちょっとかえれば、ファイルの新規作成もできるかな?と思って いたのですが、???部分の指定の方法もわかりません。 Dim objExcel As Excel.Application 'エクセル Dim objBook As Excel.Workbook 'ブック Dim objSheet As Excel.Worksheet 'シート Set objExcel = CreateObject("Excel.Application") Set objBook = objExcel.Workbooks.Open([ファイル名], , ???) Set objSheet = objBook.Worksheets([シート名]) objSheet.Cells(1, 1).Value = "A" objSheet.Cells(1, 2).Value = "B"   ・・・ SaveAsを使用した場合、この後にコーディングすればよいのでしょうか? また、根本的に間違っている場合は、よい方法を教えていただけると 嬉しいです。 よろしくお願いします。

関連するQ&A