• ベストアンサー

タイプライブラリ

' Excelのインスタンスを作成 Public appWorld As New Excel.Application ' Excelブックのインスタンスを作成 Public wbWorld As Excel.Workbook   1番上のソースがユーザ定義型が定義されていないのでエラーが でできますけど、プロジェクトの参照設定でどのタイプライブラリを 選べばいいのか分らないのでお願いします。

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

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

この質問の直前の質問「VBにて起動アプリの取得」で、答えております。 プロジェクトの参照設定で Microsoft Excel x.0 Object Libraryを指定 (x.0はエクセルのバージョンによって、違う数字です)

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=200123

関連するQ&A

  • VB6.0へのExcel導入

    ずいぶん前ですけど、VBにExcelのグラフを出しかたを質問したのですが、今回はVB6.0で出したいのですが…前回と同様にやろうとしてもできないです。どなたか知りませんか? ちなみに前回のは下記のとおりです。 VB.NETでExcelを利用するには、.NETの[参照の追加]ダイアログボックスを使って、必要なオブジェクトライブラリへの参照をプロジェクトに追加します。 [プロジェクト] → [追加の参照] → [追加の参照]ダイアログボックス → [COM]タブ → [Microsoft Excel.10.0 Object Library]を選択 → [はい] 次にExcelアプリケーションオブジェクトを生成します。 Dim ExlApp AS Excel.Application Dim ExlBook AS Excel.Workbook Dim ExlSheet AS Excel.Worksheet Dim ExlRange AS Excel.Range ExlApp = CreateObject("Excel.Application") ExlBook = ExlApp.Wookbooks.Add ExlSheet = ExlBook.Worksheets(1) ExelSheet.Application.Visible = True

  • VBAのクラスのインスタンス化のタイミングについて

    こんにちはvbaのクラスのインスタンス化について質問があります。 私は普段使えないイベントを使用するときにクラスモジュールに WithEventsを使ってイベントを作成し それをプロシージャからインスタンス化して 作成したイベントを有効にするという手法をよく使います。 Excelのように最初からワークブックにイベントがある場合は、 ワークブックを開いたと同時にWorkbook_Openプロシージャから クラスをインスタンス化して作成したイベントを有効にするということが可能なのですが、 CATIAやInventorなど、一部のアプリケーションでは、 最初から使えるイベントが見つからず、 Subプロシージャでインスタンス化する方法しかみつかりません。 しかし、Subプロシージャを実行させるためには、 ボタンなどユーザー側に何らかのアクションとってもらうしかなく、 自動化するために作成したイベントなのに、そのイベントを有効にするために ユーザーにボタンを押してもらうという矛盾した構成になってしまいます。 クラスをインスタンス化する方法はSubプロシージャに記述するしかないのでしょうか? 自分がよく使っているコードを下に記述します。 下の例は、Excelで新しくブックを開いたときにメッセージを出すプログラムです。 アプリケーションレベルのイベントをクラスモジュールで作成しています。 これを有効にするためには標準モジュール内の Event_ONプロシージャを実行しなければなりません。 モジュールを実行する前まではいくら新しいブックを開いてもメッセージは出ません これをどのうようにしたらいいかご教授ください。 Excelの例 Classモジュール「Class1」に記述 -------------------------------------------------------------------- Private WithEvents APP As Application Private Sub APP_NewWorkbook(ByVal Wb As Workbook) MsgBox "新しいブックが開かれました" End Sub Private Sub Class_Initialize() Set APP = Application End Sub -------------------------------------------------------------------- 標準モジュール「Module1」に記述 -------------------------------------------------------------------- Dim CLS As class1 Public Sub Event_ON() Set CLS = New class1 End Sub --------------------------------------------------------------------

  • vb.netのnewキーワード

    'Excel.Application の新しいインスタンスを生成するとき Dim xlApplication As New Excel.Application() のようにNewを使いますが ワークブックを作成するときは Dim xlBooks As Excel.Workbooks のようにNewを使わないのはなぜですか?

  • ExcelVBAマクロでの変数の宣言エラーについて

    初歩的な質問になりますが、ExcelVBAマクロで変数の宣言「Dim wdObj As New Word.Application」のエラーについて確認させてください。 変数の宣言「Dim wdObj As New Word.Application」がExcel2007以前では使えないようで、『ユーザ定義型は定義されてません。』というエラーがExcel2007以前で起きます。 Excel2010では問題なく動作しています。 Excel2007以前でも動作する方法をご教授いただけますでしょうか。 お手数おかけしますが、よろしくお願いいたします。

  • AccessからExcelが開かない

    Access2000 の●●mdb から Excel2007 のAAA.xls を開こうとしますが オートメーションエラー(サーバーによって例外が返されました) が表示され開きません。 ●●mdb と AAA.xls は同じフォルダーに入れてます。 Accessの「参照設定」では、   Microsoft Excel 12.0 Object Library を選んでます。 ボタン(Cmd1)を押して表示させたいので Private Sub Cmd1_Click() Dim Appexcel As New Excel.Application Dim wb As Excel.Workbook Dim strfile As String strfile = CurrentProject.Path & "\AAA.xls" Set Appexcel = New Excel.Application Set wb = Appexcel.Workbooks.Open(strfile) Appexcel.Visible = True End Sub のように書いてますが、どうもうまく開いてくれません。 どうすれば表示させることができますか。

  • 参照設定 VBAとvb.net

    VBAの場合、他のアプリケーションを参照する場合は、 参照設定でMicrosoft Excel xxx Object Library にチェックを付ければ良いだけだけど、 vb.netの場合は、 参照設定で、Microsoft Excel xxx ObjectLibrary にチェックを付けた上で、更に Imports Microsoft.Office.Interop の宣言をしないといけないのですか? (例はエクセルです) Imports Microsoft.Office.Interop をし忘れると、 [型 'Excel.Workbook' が定義されていません。] と言うエラーが発生します。

  • VB6.0上でExcelオブジェクトを生成

    VB6.0上でExcelオブジェクトの生成についてです。 その1 Dim xlApp As New Excel.Application Dim xlBook As New Excel.Workbook Dim xlSheet As New Excel.Worksheet Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) と その2 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) と、どちらが良いのでしょうか? 開発環境は  Windows2000  VB 6.0  Excel 2003 です。

  • Excel ライブラリ参照設定

    Excel の =COUNTA(B2:B30,ISNUMBER) で、指定セル範囲から数値の入ったセル数を数えさせようとしますと、「Excel プロジェクトまたはライブラリが見つかりません」といメッセージが出て、次に 「参照設定-VBAProject」という名の、参照可能なライブラリ ファイルの並んだウインドウが出てきます。 さて、ここでどのファイルを選んだらよいのでしょうか。 それがわからないことには、参照のしようがありません。 どうぞ教えて下さい。よろしくお願いします。 (注)関数の ISNUMBER を、">0" あるいは "<>0" などの演算に変えてみても同じです。

  • TextBoxに入力した文字をExcelに書き込むには?

    VB2008を使用しています。 VBフォーム内のTextBox1に入力した内容(例 りんご)をBottanを押すことによりExcelの指定したセル(例 A1)に書き込んで保存する方法はありますでしょうか? 現在、以下のところまでは出来ています。 ' excelを定義 Dim excel As New Microsoft.Office.Interop.Excel.Application ' excel testをファイルから開く Dim book As Microsoft.Office.Interop.Excel.Workbook book = excel.Workbooks.Open("C:\test.xls") ' 1枚目のワークシートを取得 Dim sheet As Microsoft.Office.Interop.Excel.Worksheet sheet = CType(book.Worksheets.Item(1), Microsoft.Office.Interop.Excel.Worksheet) Excelの開放からsheetの取得までは出来たのですが、ここから先がわかりません。よろしくお願いいたします。

  • Excelを閉じる際に意図せぬパスワード要求をされる

    ExcelのVBAプロジェクトにパスワードを設定したところ、Excelを閉じる際に意図せぬパスワード要求をされて困っています。 ■現象発生ブックの作成手順は以下の通りです。  (1)新規ブックを作成し、VisualBasicEditorで「Microdoft DAO 3.6 Object Library」を参照設定します。  (2)新規ユーザーフォーム「UserForm1」を作成し、以下のコードを記述します。     Private Sub UserForm_Initialize()      Dim db As DAO.Database      Dim strXLSName As String      strXLSName = ThisWorkbook.Path & "\" & ThisWorkbook.Name      Set db = OpenDatabase(strXLSName, True, True, "EXCEL 8.0;HDR=YES;")      db.Close      Set db = Nothing     End Sub   ※上記は、原因箇所のみ残して他は割愛させていただいたので意味のないコードになっています。  (3)ThisWorkbookに、以下のコードを記述します。     Private Sub Workbook_Open()     UserForm1.Show     End Sub  (4)VBAProjectのプロパティで、表示用にロックにチェックし、パスワードを入力します。  (5)ブックを保存します。 ■現象発生手順は以下の通りです。  (1)上記の作成手順で作成したブックを開く(自動でUserForm1が開く)  (2)自動で開いたUserForm1を閉じる  (3)ブックを上書き保存して、ブックのみを閉じる  (4)Excelを閉じる すると、意図しないVBAプロジェクトのパスワード要求ダイアログが表示されてしまいます。 当現象は最新までUpdate済みのExcel2007およびExcel2000で発生しました。 (他のバージョンは未確認です) 以下も拝見しましたが解決せず、お手上げ状態となっています。  http://questionbox.jp.msn.com/qa1272177.html どなたか解決策をご存知でしたら、アドバイスいただけないでしょうか?

専門家に質問してみよう