MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[1176]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(1176番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
RE:  [sp_OAxxx 系でエクセル操作 ]

Date: Tue, 15 Jul 2003 09:16:46 +0900
From: "Fujisawa" <who@example.netwk.ntt-at.co.jp>



堀川様

藤沢です。


レスありがとうございます。
VBScript、C++双方からある程度のCOMの操作は可能なレ
ベルです。

総称オブジェクト宣言を行なって、トップレベルのオブジェク
トを作成して、目的を実行するプログラムの作成段階、SP_O
Axxx系のハイパーリンクだけがうまく動作しないのです。

今回はExcelのCOMを操作しておりますが、太線、寄せ、罫線
などの操作は行えるのです。

異に、ハイパーリンクだけが動作しないものでして。。。
sp_OAGetErrorInfoを用いて、エラー内容をPRINTしているの
ですが、
「HyperLink」の引数が設定が間違っているとしか出ませんの
で苦戦も苦戦しております。
Web上にsp_OAxxx系のサンプルはごろついておりますが、使
用するCOMが異なるために役に立つものがありません。

そもそも、COMの使用方法が分かっていれば各種メソッドへ
の設定も共通はしてはいるのですが、HyperLinkメソッドだけ
がなぜか正常に動作しないものでして。。。涙

現時点ではExcelのHyperLinkメソッドの設定をあきらめて、頭
をきりかえ、HYPERLINK関数を用いて、直接セルに書き込む
ことで対応しております。
(しかし、気持ちが悪い。。。)

-- 動く例
EXEC @IntHResult =
sp_OAGetProperty @ObjExcel,'Range("A1")',@Range OUT
EXEC @IntHResult =
sp_OASetProperty @Range,'Value', '=HYPERLINK( "http://www.yahoo.co.jp" , "リ
ンク" )'

-- 動かしたいけど動かない例
EXEC @IntHResult =
sp_OAGetProperty @ObjExcel,'Range("F11")',@Range OUT
EXEC @IntHResult =
sp_OASetProperty @Range,'ActiveSheet.Hyperlinks.Add',
'Selection', '"http://yahoo.co.jp"', '"aiueo"'

そもそも、動く例と動かない例とで、引数の数が違うのは一目瞭
然なのですが、、、

VBScriptですとASPから
objExcelSheet.Hyperlinks.Add
objExcelSheet.Cells(1,1),"http://Domain/Test.asp","","リンク",
"いけてるリンク"

とすると動くんですけどね。

-----------------
長文すいません。




[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。