VCからTransferSpreadsheetを使いたいです。 – プログラミング – Home

通知
すべてクリア

[解決済] VCからTransferSpreadsheetを使いたいです。


TAR
 TAR
(@TAR)
ゲスト
結合: 22年前
投稿: 15
Topic starter  

現在、Win2000Pro+VC++6.0で開発をしています。
AccessのOLEを利用して、ExcelのデータをAccessへエクスポートしたいと思っています。
その際、AccessのTransferSpreadsheetを使うとできることがわかりましたが、Accessから直
接TransferSpreadsheetを発行するのと、VCから発行するのとでは、引数の数が違うようで
す。
Accessから発行する場合、引数は6個で、VCから発行する場合は7個です。
VCから発行する場合のTransferSpreadsheetの使い方、もしくは、引数の意味をご存知の方が
いらっしゃれば、教えていただきたく思います。
それか、VCからTransferSpreadsheetを使って、ExcelとAccessを連携しているサンプルは無
いものでしょうか。


引用未解決
トピックタグ
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

>Accessから直接TransferSpreadsheetを発行するのと、VCから発行するのとでは、引数
の数が違うようです。

引数の数が違うわけではありません。
VC++ では、引数の省略がまるで許されていないだけです。

ACCESS 2003 のヘルプを見る限り、TransferSpredsheet の引数は7個です。
もちろん、個々の引数の説明もヘルプに記載されています。(日本語で)


返信引用
TAR
 TAR
(@TAR)
ゲスト
結合: 22年前
投稿: 15
Topic starter  

渋木宏明(ひどり)殿

以前にも同じような質問にお答えしていただき大変恐縮です。

私はAccess2000を使っているのですが、ヘルプには以下の引数しか記載されていません。

 transfertype
 spreadsheettype
 tablename
 filename
 hasfieldnames
 range

個々の引数の説明は記載されていますが、7個目が見当たりません。
2000と2003では違うのでしょうか。
ちなみに、VCからAccess2000のタイプライブラリを読み込んでAccess2000のヘッダーファイル
を作ると、上記の6個の引数に加え、7個目として以下の引数が存在します。

 const VARIANT& UseOA

この引数の説明がAccess2000のヘルプには無かったです。
もし、お分かりでしたら教えていただけないでしょうか。


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

>2000と2003では違うのでしょうか。

ごめんなさい、私が参照していたのは ACCESS 2002 のヘルプでした。

もちろん、違う場合はあります。
てか、過去においては違う場合のほうが多かったです。

> const VARIANT& UseOA
>
>この引数の説明がAccess2000のヘルプには無かったです。

ACCESS 2002 のヘルプでも、「アクション」配下に収録されているトピックでは引数が
6個しか解説されていませんでした。

ヘルプの、「Visual Basic プログラミング」の配下を探すと、引数7個の説明が記載さ
れています。

が、「省略可能です」以外の情報が載ってないですね (^^; > UseOA

「省略可能」なそうですから、VariantClear() しただけの、空っぽの値を指定しておけ
ばいいんじゃないでしょうか。


返信引用
TAR
 TAR
(@TAR)
ゲスト
結合: 22年前
投稿: 15
Topic starter  

ご回答ありがとうございます。

現在、苦し紛れで、VBでTransferSpreadsheetを使ってExcelからAccessへデータを写すだけ
のdllを作成し、それをVCからコールして対処しています(^^;
このままでは納得がいかないので、VCから直接TransferSpreadsheetをコールする形に変えた
いと思います。
7個目の引数が省略可能ということがわかって、たいへん助かりました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました