VBAでcreateObjectメソッドとExcelでCreateObjectメソッドを使用する方法は?


このチュートリアルでは、VBAでCreateObjectメソッドとExcelでCreateObjectメソッドを使用する方法を学びます.下にしましょう!次のリンクからMS Excelの公式バージョンを取得しますhttps://www.microsoft.com/en-in/microsoft-365/excel

VBAのCreateObjectメソッド
CreateObjectを使用したオブジェクトの作成は、遅延バインディングと呼ばれます.遅延バインドでは、実行時にオブジェクトの作成が行われます.それは追加されるすべての参照を必要としません.これはVBAコードをポータブルにします.

createObject関数構文
Set object_name= CreateObject(classname as string,[servername])
構文説明

  • クラス名として、それは必須の変数です.アプリケーション名とオブジェクト型の名前を表す文字列です.作成するオブジェクトのアプリケーション名とクラスをappnameで宣言する必要があります.オブジェクトタイプ.例えば、Wordアプリケーションのオブジェクトが欲しいなら、“word . application”を書きます.後の例で詳しく説明します.

  • [ serverName ] :オプションの変数です.これは、オブジェクトが作成されるネットワークサーバーの名前の文字列です.ServerNameが空文字列("")の場合、ローカルマシンが使用されます.

  • 例1:ExcelのVBAを使用してオープンマイクロソフトWordアプリケーション
  • まず、Excelのワークシートでは、[開発]タブに移動する必要があります.
  • 次に、コードセクションの下のVisual Basicオプションを選択する必要があります.
  • 選択して視覚的な基礎
  • さて、以下のコードをコピーしてペーストしなければなりません.
  •  Sub OpenWordApp()
    
        Dim wordApp As New Word.Application
    
        Dim wordDoc As Document
    
        wordApp.Visible = True
    
        wordDoc = wordApp.Documents.Add
    
    End Sub
    
    
  • その後、選択してコードを保存し、ウィンドウを閉じる必要があります.
  • コードを保存する
  • 再度、Excelのスプレッドシートに移動し、[開発]タブをクリックします.
  • コードセクションでマクロオプションを選択する必要があります.
  • マクロオプションの選択
  • 次に、マクロ名が選択されていることを確認し、* Run *ボタンをクリックします.
  • をクリックします
  • さて、以下のようにユーザ定義のエラーメッセージを取得します.
  • ユーザ定義エラー

    このエラーを回避するには、以下のコードを使用します.
  • また、Excelのワークシートでは、[開発]タブに移動する必要があります.
  • 次に、コードセクションの下のVisual Basicオプションを選択する必要があります.
  • さて、以下のコードをコピーしてペーストしなければなりません.
  •  Sub OpenWordApp()
    
        Dim wordApp As Object
    
        Set wordApp = CreateObject("Word.Application")
    
        Dim wordDoc As Object
    
        wordApp.Visible = True
    
        Set wordDoc = wordApp.Documents.Add
    
    End Sub
    
    
  • その後、選択してコードを保存し、ウィンドウを閉じる必要があります.
  • コードを保存する
  • 再度、Excelのスプレッドシートに移動し、[開発]タブをクリックします.
  • コードセクションでマクロオプションを選択する必要があります.
  • ここで、マクロ名が選択されていることを確認し、* Run *ボタンをクリックします.
  • コードを実行する
  • 最後に、マイクロソフトワードアプリケーションExcelのVBAを使用して開きました.
  • オープンワード

    例2 : CreateObject関数を使用したブックオブジェクトの作成
  • まず、Excelのワークシートでは、[開発]タブに移動する必要があります.
  • 次に、コードセクションの下のVisual Basicオプションを選択する必要があります.
  • 選択します
  • さて、以下のコードをコピーしてペーストしなければなりません.
  •  Sub addSheet()
    
        ' Declare an object variable to hold the object
    
        ' reference. Dim as Object causes late binding.
    
        Dim ExcelSheet As Object
    
        Set ExcelSheet = CreateObject("Excel.Sheet")
    
        ' Make Excel visible through the Application object.
    
        ExcelSheet.Application.Visible = True
    
        ' Place some text in the first cell of the sheet.
    
        ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
    
        ' Save the sheet to C:\test.xls directory.
    
        ExcelSheet.SaveAs "C:\TEST.XLS"
    
        ' Close Excel with the Quit method on the Application object.
    
        ExcelSheet.Application.Quit
    
        ' Release the object variable.
    
        Set ExcelSheet = Nothing
    
    End Sub
    
    
  • その後、選択してコードを保存し、ウィンドウを閉じる必要があります.
  • コードを保存する
  • 再度、Excelのスプレッドシートに移動し、[開発]タブをクリックします.
  • コードセクションでマクロオプションを選択する必要があります.
  • マクロオプションの選択
  • ここで、マクロ名が選択されていることを確認し、* Run *ボタンをクリックします.
  • コードを実行する
  • 最後に、Word文書で結果を受け取ります.

  • オブジェクトを作成するCreateObjectの利点
  • CreateObjectの主な利点は、コードをポータブルにすることです.
  • あなたはそれらを使用してオブジェクトプログラムへの参照を追加した場合心配することなく、誰にでもコードを共有することができます.
  • CreateObjectのショートカット:
  • createObjectメソッドの欠点は以下の通りです.
  • オブジェクトの作成に使用するクラスの構造を知る必要があります.
  • オブジェクトを作成したら、VBAがあなたを助けるためにIntelliSenseを提供しないので、オブジェクトのメソッドとプロパティのメモリに完全に依存しています.

  • 評決
    このチュートリアルでは、VBAでCreateObjectメソッドとExcelでCreateObjectメソッドを使用する方法を知っています.以下のコメントのセクションであなたの質問/提案を残してください.訪問ありがとうGeek Excel. 学習を続ける!
    続きを読む
  • What is a Name Box and Its Features in Microsoft Excel 365?
  • Highlight Unique Values in Selection using Macros in Excel 365!!
  • { Save As } Shortcut in Microsoft Excel 365!!! – Quick and Easy Shortcut
  • Excel Formulas to Count specific word in a range ~ Easy Tutorial!!
  • Excel Formulas to Get the Last Word of a Text String ~ Quick Method!!