VB エクセル操作 |
Excel.Application オブジェクト Excelを操作します。 |
[参照設定] Microsoft Excel 8.0 Object Library (EXCEL8.OLB) [変数宣言] Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet [オブジェクト生成] Set xlApp = CreateObject("Excel.Application") ※ Set xlApp = New Excel.Application でも同じことです。 |
【サンプルリスト
その1】 '============================================================================================ ' 指定したEXCELファイルを開いて、指定シートのA1セルにHELLOをセットしてファイルを保存して終了する。 '============================================================================================ Private Sub Sample() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet '--------------------- ' EXCELファイルを開く '--------------------- Dim strFilename As String 'ファイル名(フルパス) strFilename = "C:\TEST\SAMPLE.xls" 'ファイル名をセット Dim strSheetName As String 'シート名 strSheetName = "Sheet1" 'シート名をセット Set xlApp = CreateObject("Excel.Application") 'Application生成 xlApp.Workbooks.Open Filename:=strFilename, UpdateLinks:=0 'EXCELを開く xlApp.Visible = True 'EXCELの表示 Set xlBook = xlApp.Workbooks(Dir(strFilename)) 'Workbook Set xlSheet = xlBook.Worksheets(strSheetName) 'Worksheet '-------------- ' シートの編集 '-------------- xlSheet.Cells(1, 1).Value = "HELLO" '----------------------- ' EXCELファイル終了処理 '----------------------- xlBook.Close saveChanges:=True 'ブックを保存して終了 xlApp.Quit 'EXCELを閉じる Set xlSheet = Nothing 'オブジェクトの解放 Set xlBook = Nothing 'オブジェクトの解放 Set xlApp = Nothing 'オブジェクトの解放 End Sub |
【サンプルリスト
その2】 '============================================================================================== ' 新規のEXCELファイルを開いて、シートのA1セルにHELLOをセットしてファイル名を付けて保存して終了する。 '============================================================================================== Private Sub Sample() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet '--------------------- ' EXCELファイルを開く '--------------------- Set xlApp = CreateObject("Excel.Application") 'Application生成 xlApp.Visible = True 'EXCELの表示 xlApp.Workbooks.Add '新規ブックを作成する Set xlBook = xlApp.ActiveWorkbook 'Workbook Set xlSheet = xlBook.ActiveSheet 'Worksheet '-------------- ' シートの編集 '-------------- xlSheet.Cells(1, 1).Value = "HELLO" '----------------------- ' EXCELファイル終了処理 '----------------------- xlBook.Close saveChanges:=True, FileName:="C:\TEST\Sample1.xls" 'ファイル名を指定して保存・終了 xlApp.Quit 'EXCELを閉じる Set xlSheet = Nothing 'オブジェクトの解放 Set xlBook = Nothing 'オブジェクトの解放 Set xlApp = Nothing 'オブジェクトの解放 End Sub |
●Quitメソッド
※ Auto_Close マクロがあっても、実行しません。 ※ ブックを保存せずにQuitを実行すると、確認ダイアログボックスが表示されます。 確認メッセージを表示させないためには、DisplayAlertsをFalseにすると、保存せずに終了します。 また、ブックを保存しなくても、SavedをTrueにすると、確認メッセージを表示せずにExcelを終了させることができます。 |
●DisplayAlertsプロパティ
|
●Visibleプロパティ
※ ワークシートの場合、xlVeryHiddenを設定します。 |
●GetOpenFilenameメソッド
※このメソッドを実行することによってカレントドライブや現在のフォルダが変更される可能性があります。 |
●CommandBarsプロパティ
※ この操作はEXCELの設定そのものを変更してしまいます。プログラムの最後で必ず設定を元に戻す必要があります。 |
●Openメソッド
|
●Savedプロパティ
|
●Saveメソッド
|
●Closeメソッド
※ ブックのAuto_Closeマクロは実行されません。Auto_Closeマクロを実行するには、RunAutoMacrosメソッドを使います。 |
●Addメソッド
※ 新しく作成したブックがアクティブブックになります。 ※ 新しく作成したシートがアクティブシートになります。 ※ シート追加で、Before とAfter をともに省略すると、アクティブシートの直前に新しいワークシートが追加されます。 |
●Activateメソッド
|
●Nameプロパティ
|
●Deleteメソッド
|
●Copyメソッド
|
●Valueプロパティ
|
●Formulaプロパティ
|
●Clearメソッド
|
●HorizontalAlignmentプロパティ
※ 定数 xlHAlignDistributed は、韓国版、台湾版、中国版、および日本版の Excel でだけ使えます。 |
●VerticalAlignmentプロパティ
※ 定数 xlVAlignDistributed は、韓国版、台湾版、中国版、日本版の Excel だけで使用できます。 |
●Insertメソッド
|
●Endプロパティ
※ 定数に間違って xlLeft、xlRight を使うとエラーになります。 |
●Columnプロパティ
|
●Rowプロパティ
|
●ColumnWidthプロパティ
|
●RowHeightプロパティ
|
●AutoFitプロパティ
|
●Mergeプロパティ
|
●NumberFormatLocalプロパティ
※ 書式は Format関数とは異なります。 |
●ColorIndexプロパティ
|
●Sizeプロパティ
|
●Boldプロパティ
|
●Italicプロパティ
|
●Underlineプロパティ
|
●DisplayGridlinesプロパティ
|
●Zoomプロパティ
※ Zoomに Trueを設定すると、現在の選択範囲に適したウィンドウサイズを設定することができます。 |
●FreezePanesプロパティ
|
●Viewプロパティ
|
●PrintAreaプロパティ
|
●Zoomプロパティ
※このプロパティが False の場合、どのようにワークシートを拡大または縮小するかは、FitToPagesWide と FitToPagesTall の設定で決まります。 ※どのように拡大または縮小しても、元の文書の縦横比は保持されます。 |
●FitToPagesTallプロパティ
※ このプロパティに False が設定されているときは、FitToPagesWide に従ってワークシートの大きさが決められます。 ※ Zoom に True を設定すると、FitToPagesTall は無視されます。 |
●FitToPagesWideプロパティ
※ このプロパティに False が設定されているときは、FitToPagesTall に従ってワークシートの大きさが決められます。 ※ Zoom プロパティに True を設定すると、FitToPagesWide は無視されます。 |
●TopMarginプロパティ
●BottomMarginプロパティ
●LeftMarginプロパティ
●RightMarginプロパティ
●HeaderMarginプロパティ
●FooterMarginプロパティ
※ 余白の単位は、ポイントです。他の単位 (インチ、センチメートル) をポイント単位に変換するためには、InchesToPoints 、または CentimetersToPoints を使います。 ※ 1ポイントは、1/72インチ、0.35mmです。 |
●BlackAndWhiteプロパティ
|
●Orientationプロパティ
|
●PaperSizeプロパティ
※ 多くのプリンタは、プリンタの種類によりサポートされていないものもあります。 ※ Windows 版 Excel が使われているときにだけ使用することができるプロパティです。 |