既存のエクセルファイルを開く |
既存のエクセルファイルを開く (013) 動作確認 : WindowsXP(SP2) VB6.0(SP6) / Excel 2000 Excel 2002 Excel 2007 |
|
|
まず、VBからExcel及びWordを操作する時の注意事項を見て下さい Option Explicit Private Sub Command1_Click() '★プロジェクト→参照設定でMicrosoft Excel *.* ObjectLibraryに ' チェックを入れておいて下さい。 'テスト用ファイル(xlTestFile)は各自準備して下さい。 '================================================================== ' Excel の起動処理 'オブジェクトへの参照を格納する変数を宣言(事前バインディング) Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook 転載禁止 Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(xlTestFile) '読み取り専用で開く場合 'Set xlBook = xlApp.Workbooks.Open(FileName, ReadOnly:=True) Set xlSheet = xlBook.Worksheets(1) '================================================================== 'Excel を操作部分 'エクセルを表示します。(非表示でも動作します) xlApp.Visible = True '転載禁止 xlSheet.Activate 'Sheet1転載禁止を転載禁止Activate に ' Excel のセルに値を代入します。 xlSheet.Cells(1, 1).Value = "12" xlSheet.Cells(2, 1).Value = "34" 'Formula プロパティを使ってセルに式を挿入します。 xlSheet.Cells(3, 1).Formula = "=A1+A2" ' "=SUM(A1:A2)" '================================================================== '下記コードはこのサンプルとは直接、関係ありません。 '動作確認の為に Excel を3秒間表示して置く為のものです。 Dim lngSt As Long lngSt = Timer Do While Timer - lngSt < 3 DoEvents Loop '================================================================== '終了処理 '保存時の問合せを非表示に設定 'xlApp.DisplayAlerts = False 'Worksheet を名前をつけて保存します。 'xlSheet.SaveAs xlTestFile 'Book を上書き保存する場合 '上書き保存の場合は保存時の問合せは表示されない。 xlBook.Save '転載禁止 'オブジェクトを解放します Set xlSheet = Nothing xlBook.Close 'Book を閉じる Set xlBook = Nothing xlApp.Quit 'Quit メソッドを使って Excel を終了します。 Set xlApp = Nothing 'これで、タスクマネージャーのプロセス欄からExcel.exe が消えていれば、OK です。 'プログラムを終了しないと消えないのではだめです。 '2〜3度続けて実行して確認しておいて下さい、1度目は OK でも2〜3度続けて '実行すると NG になる場合があります。 '尚、Excel を終了処理後、数秒(5秒以内)待ってから確認して下さい。 End Sub |