VC6.0とEXCEL2003について
Posted: 2010年7月13日(火) 17:50
VC6.0でExcelCOM(2000)を使用したアプリケーションをExcel2003に対応しようとしたところ、mso9.dllが2003にないため、エラーとなりました。
その為、下記内容に修正しました。
#import <C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL> no_namespace rename("DocumentProperties", "DocumentPropertiesXL")
#import <C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB> no_namespace
#import <C:\Program Files\Microsoft Office\Office11\EXCEL.EXE> rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") rename("DocumentProperties", "DocumentPropertiesXL") no_dual_interfaces
これでリンクすると、下記エラーがでました。
MSO.tlh(1087) : warning C4146: 符号付きの値を代入する変数は、符号付き型にキャストしなければなりません。
VBE6EXT.tlh(210) : error C2146: 構文エラー : ';' が、識別子 'CommandBars' の前に必要です。
VBE6EXT.tlh(210) : error C2501: '__missing_type__' : 識別名を宣言するのに、型が指定されていません。
VBE6EXT.tlh(210) : error C2208: 'struct CommandBars' : メンバのない列挙型、構造体、共用体が定義されました。
VBE6EXT.tlh(231) : error C2146: 構文エラー : ';' が、識別子 'GetCommandBars' の前に必要です。
VBE6EXT.tlh(231) : error C2501: '__missing_type__' : 識別名を宣言するのに、型が指定されていません。
VBE6EXT.tlh(253) : error C2061: 構文エラー : 識別子 '__missing_type__' がシンタックスエラーを起こしました。
VBE6EXT.tli(32) : error C2143: 構文エラー : ';' が 'tag::id' の前に必要です。
VBE6EXT.tli(32) : error C2433: '__missing_type__' : 'inline' はデータ宣言をするのに使用できません。
VBE6EXT.tli(32) : error C2501: '__missing_type__' : 識別名を宣言するのに、型が指定されていません。
VBE6EXT.tli(32) : fatal error C1004: 予期せぬ EOF が検出されました。
他所方法を教えて頂けないでしょうか。
その為、下記内容に修正しました。
#import <C:\Program Files\Common Files\Microsoft Shared\Office11\MSO.DLL> no_namespace rename("DocumentProperties", "DocumentPropertiesXL")
#import <C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB> no_namespace
#import <C:\Program Files\Microsoft Office\Office11\EXCEL.EXE> rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") rename("DocumentProperties", "DocumentPropertiesXL") no_dual_interfaces
これでリンクすると、下記エラーがでました。
MSO.tlh(1087) : warning C4146: 符号付きの値を代入する変数は、符号付き型にキャストしなければなりません。
VBE6EXT.tlh(210) : error C2146: 構文エラー : ';' が、識別子 'CommandBars' の前に必要です。
VBE6EXT.tlh(210) : error C2501: '__missing_type__' : 識別名を宣言するのに、型が指定されていません。
VBE6EXT.tlh(210) : error C2208: 'struct CommandBars' : メンバのない列挙型、構造体、共用体が定義されました。
VBE6EXT.tlh(231) : error C2146: 構文エラー : ';' が、識別子 'GetCommandBars' の前に必要です。
VBE6EXT.tlh(231) : error C2501: '__missing_type__' : 識別名を宣言するのに、型が指定されていません。
VBE6EXT.tlh(253) : error C2061: 構文エラー : 識別子 '__missing_type__' がシンタックスエラーを起こしました。
VBE6EXT.tli(32) : error C2143: 構文エラー : ';' が 'tag::id' の前に必要です。
VBE6EXT.tli(32) : error C2433: '__missing_type__' : 'inline' はデータ宣言をするのに使用できません。
VBE6EXT.tli(32) : error C2501: '__missing_type__' : 識別名を宣言するのに、型が指定されていません。
VBE6EXT.tli(32) : fatal error C1004: 予期せぬ EOF が検出されました。
他所方法を教えて頂けないでしょうか。