過去ログ:     キーワード: 条件: 表示:

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

投稿日 22/11/10-13:40
投稿者 MSXマスタ
参照先

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

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

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

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

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

▲pagetop

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

投稿日 22/11/11-09:48
投稿者 MSXマスタ
参照先

ソース的には

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

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

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

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

▲pagetop

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

投稿日 22/11/11-10:36
投稿者 MSXマスタ
参照先

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

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

▲pagetop

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

投稿日 22/11/12-17:25
投稿者 ゆうと
参照先

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

▲pagetop

[2801] ありがとうございました

投稿日 22/11/13-13:17
投稿者 MSXマスタ
参照先

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

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

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

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

▲pagetop

[2802] ソース載せておきますね

投稿日 22/11/13-20:48
投稿者 MSXマスタ
参照先

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

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

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

▲pagetop
▲ページの先頭へ

- WebForum -