エクセルをCOMで起動してみたい。

投稿者:MSXマスタ 投稿日:2022/11/10(Thu) 13:40:48 No.2795

サンプルを見て、COMでPDFが見れるのであれば、
「エクセルも出来るのでは?」と思いトライしてみましたが、
Visibleの部分はどうすれば良いのでしょうか?以下がソースです

objCmExというCOM型(「{00024500-0000-0000-C000-000000000046}」)を作る
objCmExからインスタンスを作ってobjXlsとする
objXls:Visible(「{True}」)

3行目の部分をobjXls:Visible()「{True}」
しても
呼び出しのターゲットが例外をスローしました
となって無理なのかとも思っています。

プロデルの機能でエクセルを呼び出せるのは知っているのですが、
向学のためCOMでも出来ないかと思ってやってみました。

お忙しいところご教授下さい

自己レスです「Re: エクセルをCOMで起動してみたい。」

投稿者:MSXマスタ 投稿日:2022/11/11(Fri) 09:48:42 No.2796

ソース的には

objCmExというCOM型(「excel.application」)を作る
objCmExからインスタンスを作ってobjXlsとする
objXlsのVisible=「-1」
objXlsのWorkbooksのAdd()=「」

になりました。
助詞「の」で行けました。

ただ、エクセルを新規でオープンする際にadd()で
エラー
「指定した式が、配列または辞書ではないため、要素番号を指定することはできません。」
が表示されてしまいます。もう少し研究してみます。

一応、Visibleは出来たのでありがとうございました。お騒がせしました。

ちなみに既存エクセルのオープン

投稿者:MSXマスタ 投稿日:2022/11/11(Fri) 10:36:36 No.2797

objCmExというCOM型(「excel.application」)を作る
objCmExからインスタンスを作ってobjXlsとする
objXlsのVisible=「-1」
objXlsのWorkbooks:open(「c:\test\test.xlsx」)

こんな感じです。
助詞「の」と「:」の違いは分からないけど
openはエラーなく開けます。
Addは何でダメなんだろう、、、。不思議だ。

Re: ちなみに既存エクセルのオープン

投稿者:ゆうと 投稿日:2022/11/12(Sat) 17:25:46 No.2799

プロデルで定義済みの名前を呼び出しできないケースがありました。
1.9.1158で実行してください。

ありがとうございました

投稿者:MSXマスタ 投稿日:2022/11/13(Sun) 13:17:33 No.2801

> プロデルで定義済みの名前を呼び出しできないケースがありました。
> 1.9.1158で実行してください。

おおー、エクセル起動しました。
ありがとうございました。

修正後はAddが「未知語」となっています。
なるほど、前回は「動詞」となっていた記憶があります。
既に何かに割り振られてた?みたいですね。

プロデルは文系の受験英文法マニアの私からすると
非常に分かりやすい開発言語です。うれしいです。
これからもよろしくお願いします。

ソース載せておきますね

投稿者:MSXマスタ 投稿日:2022/11/13(Sun) 20:48:25 No.2802

今更Vistaの人もいないと思いますが、
Win10とVistaの動作済みソース載せておきますね。

objCmExというCOM型(「excel.application」)を作る
objCmExからインスタンスを作ってobjXlsとする
objXlsのVisible=「true」 //win10はこっちで動きました
//objXlsのVisible=「-1」 //Vistaはこっちでも動きました
objXlsのWorkbooks:Add()

ご参考になれば幸いです。

▲ページの先頭へ

- WebForum -