島野です。お世話になっております。
「#import ディレクティブ」について質問いたします。
VC++6.0 で #import を使用して Access 2002 を利用しようと考えています。
下記の情報によると、
■ INFO: Using Visual C++ to Automate Office
http://support.microsoft.com/support/kb/articles/q238/9/72.asp
Access 2002 のタイプライブラリは「MSACC.OLB」とのことでしたので、
「MSACC.OLB」が依存するタイプライブラリを #import してみました。
しかし、途中で、ADO 2.1 と ADO 2.5 のオブジェクト名がバッティングする
ようで、エラーが出てしまいました。
一応、rename("ADODB", "ADODB25") として、回避させましたが、
本当にこのような対応方法でよいのでしょうか?
---------------------------------------------------------------------
#import "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll" \
rename("EOF","EndOfFile") rename("BOF","BegOfFile")
#import "C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL"
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "C:\WINDOWS\System32\msdatsrc.tlb"
#import "C:\WINDOWS\System32\MSCOMCTL.OCX"
#import "C:\Program Files\Common Files\system\ado\msado21.tlb" \
rename("EOF", "adoEOF")
#import "C:\Program Files\Common Files\Microsoft Shared\Web Components\10\OWC10.DLL"
#import "C:\Program Files\Common Files\system\ado\msado25.tlb" \
rename("EOF", "adoEOF") rename("ADODB", "ADODB25")
#import "C:\Program Files\Microsoft Office\Office10\MSACC.OLB" \
rename("ADODB", "ADODB25")
---------------------------------------------------------------------
もしかしたら、もっとスマートな方法があるのでしょうか?
ご存知の方いらっしゃいましたら、ご教授よろしくお願い致します。
<環境>
Windows XP, VC++6.0, Access 2002
以上
--
「#import ディレクティブ」について質問いたします。
VC++6.0 で #import を使用して Access 2002 を利用しようと考えています。
下記の情報によると、
■ INFO: Using Visual C++ to Automate Office
http://support.microsoft.com/support/kb/articles/q238/9/72.asp
Access 2002 のタイプライブラリは「MSACC.OLB」とのことでしたので、
「MSACC.OLB」が依存するタイプライブラリを #import してみました。
しかし、途中で、ADO 2.1 と ADO 2.5 のオブジェクト名がバッティングする
ようで、エラーが出てしまいました。
一応、rename("ADODB", "ADODB25") として、回避させましたが、
本当にこのような対応方法でよいのでしょうか?
---------------------------------------------------------------------
#import "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll" \
rename("EOF","EndOfFile") rename("BOF","BegOfFile")
#import "C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL"
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "C:\WINDOWS\System32\msdatsrc.tlb"
#import "C:\WINDOWS\System32\MSCOMCTL.OCX"
#import "C:\Program Files\Common Files\system\ado\msado21.tlb" \
rename("EOF", "adoEOF")
#import "C:\Program Files\Common Files\Microsoft Shared\Web Components\10\OWC10.DLL"
#import "C:\Program Files\Common Files\system\ado\msado25.tlb" \
rename("EOF", "adoEOF") rename("ADODB", "ADODB25")
#import "C:\Program Files\Microsoft Office\Office10\MSACC.OLB" \
rename("ADODB", "ADODB25")
---------------------------------------------------------------------
もしかしたら、もっとスマートな方法があるのでしょうか?
ご存知の方いらっしゃいましたら、ご教授よろしくお願い致します。
<環境>
Windows XP, VC++6.0, Access 2002
以上
--