7

次のコードを使用して、Powerpoint2010でVBAを使用してExcelファイルを開こうとしています。

Private Sub CommandButton1_Click()
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = True

xlApp.Workbooks.Open "C:\lol\Book1.xlsx", True, False
Set xlApp = Nothing

Range("A8").Value = "Hello"
End

しかし、次のエラーが発生します。

コンパイルエラーユーザー定義型が定義されていません。

私は何かが足りないのですか。誰でもサンプルコードを共有して、VBAを使用してPowerpoint 2007および2010でExcelファイルを開き、セル値を変更し、Excelファイルを閉じることができますか。

私はたくさん検索してさまざまなコードを試しましたが、毎回同じエラーが発生します。:(

前もって感謝します。:)

4

2 に答える 2

9

Excelオブジェクトモデルへの参照を追加しましたか?これにより、レイトバウンドオブジェクトを使用する必要がなくなります(コーディング時にIntellisenseのヘルプを利用できるという利点があります)。

[ツール]->[参照]に移動して、[Microsoft Excel vxオブジェクトライブラリ]を確認する必要があります(使用しているオフィスのバージョンによって番号が変わると思います。

そうすればコードは機能するはずです。また、

CreateObject("Excel.Application") 

線を引き、次のように置き換えます

Set xlApp = new Excel.Application

そして、

Set xlApp = nothing

サブルーチンの最後まで行いてください。

あなたのコードの残りの部分は私にはうまく見えます。

于 2012-05-26T04:20:22.220 に答える
4

遅延バインディングコードはこれになります

Private Sub test()
Dim xlApp As Object
Dim xlWorkBook As Object

Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = True
Set xlWorkbook = xlApp.Workbooks.Open("C:\lol\Book1.xlsx", True, False)
xlWorkbook.sheets(1).Range("A8").Value = "Hello"

Set xlApp = Nothing
Set xlWorkbook = Nothing


End Sub

ただし、早期バインディングを使用することをお勧めします。

于 2012-05-26T07:02:03.150 に答える