tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: エクセルの非表示シートを削除したい
投稿日: 2022/05/24(Tue) 17:19
投稿者魔界の仮面弁士
> エクセルは2013年、32ビット版です。
> vb6.0で作業をしていますが、
標準 EXE プロジェクトを新規作成した状態でも、参照設定できない状況でしょうか。


> 参照設定のMicrosoft Excel 16.0 Object Libraryに
2013 で 16.0 ですか?
もしかしたら、開発環境の不整合が生じているのかもしれませんね。

"Microsoft Excel 16.0 Object Library" → Office 2016 / 2019
"Microsoft Excel 15.0 Object Library" → Office 2013
"Microsoft Excel 14.0 Object Library" → Office 2010
"Microsoft Excel 12.0 Object Library" → Office 2007
"Microsoft Excel 11.0 Object Library" → Office 2007
"Microsoft Excel 10.0 Object Library" → Office XP
"Microsoft Excel 9.0 Object Library" → Office 2000

Office 2013 とは別に、2016/2019 世代の Office 製品が
共存インストールされてたことはなかったでしょうか。

Office ライブラリは複数バージョンを切り替えて使えるような設計にはなっていないため、
開発環境は複数の Office バージョンを共存させないことが望ましいです。



> 参照設定には、Microsoft DAO 3.6 Object Library にチェックが入っています。
DAO は必須ライブラリでは無いため、一度それを外してみてください。

VB6 が手元に無いので確実なことは言えないのですが、
最低限必要なのは先頭 3 〜 4 個程度だったはず。

こんな名前だった気がするけどうろ覚え。
・Visual Basic For Applications
・Visual Basic objects and procedures
・Visual Basic runtime objects and procedures
・OLE Automation


> それで、Dim xlApp As Excel.Application、Dim xlBook As Excel.Workbook、Dim xlSheet As Excel.Worksheet等が使えなく、
> 何を使って作業すべきかが分からないのです。
どうしても参照設定が使えない場合は、レイトバインドで動くかどうかを試してみてださい。

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Dim xlBook As Object
Set xlBook = xlApp.Workbooks.Add()
Dim xlSheet As Object
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Range("A1").Value = "Hello World!"


「定数を自分で宣言しなければならない」
「WithEvents 変数によるイベント処理が使えない」
などのデメリットはありますが、複数バージョンが混在した環境でも
動作させられる可能性があります。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。