インデクス付きプロパティについて

投稿者:和泉P 投稿日:2023/01/21(Sat) 11:52:45 No.2808

こんにちは はじめまして
エクセルのVBAマクロをプロデルに移植しています
そこで、End()やOffset()、Cells()など 引数のあるプロパティについて躓いています
以下のソースです
まずは、通常のプロパティとして「の」でアクセスしようとしたがダメ
次に、C#でCOMのインデクス付きプロパティを操作するときの様に get_プロパティ名 というメソッド扱いしたらいいかと やってみましたが COMException 名前が不明です となります

もし エクセルが起動中かどうかが○なら
  エクセルをリンクする
  CellObj =(エクセルの現在シート:{2, 1}のセル)の元実体
  (CellObjのaddress)を報告する
  CellObjのvalueを報告する//OK
  CellObj:clear() //OK
  xlDown = -4121
  (CellObjのEnd(xlDown))を報告する  //「CellObjのEnd」の中身が、無です
  AA=CellObj:get_End() //COMException 名前が不明です
  AA=CellObj:get_End(xlDown) //COMException 名前が不明です
  (CellObj:get_offset({1,2}) )のaddressを報告する //COMException 名前が不明です
もし終わり

また、
以下のように、一からCOMとして生成して 同様のことを試してみても ダメでした

ElAppClassというCOM型(「Excel.Application」)を作る
ElAppClassからインスタンスを作ってElAppとする
ElAppのVisible=○
WB=ElAppのWorkbooks:Add()
WBのNameを報告する
WS2=WBのWorksheets:Add()
C1=WS2:get_Range(「B3」) //COMException 名前が不明です
C1=WS2:get_cells({2,2}) //COMException 名前が不明です
C1=WS2:get_cells(2,2) //COMException 名前が不明です

produire-1.8.1164 zip版 および 
produire-1.9.1174 zip版 から解凍して使用しています

どのように書けば宜しいでしょうか。
元実態が提供され ここさえクリアすれば 社内のあらゆるExcelマクロをプロデル化できるとワクワクしています
よろしくお願いいたします。

Re: インデクス付きプロパティについて

投稿者:ゆうと 投稿日:2023/01/22(Sun) 15:57:16 No.2811

こんにちは。ご質問ありがとうございます。

インデックス付きプロパティについて、取得のみ暫定対応しました。
今後仕様を検討しますので多少変わるかもしれません。
ご活用ください。

---------------
もし エクセルが起動中かどうかが○なら
  エクセルをリンクする
  CellObj =(エクセルの現在シート:{2, 1}のセル)の元実体
  (CellObjのaddress)を報告する
  CellObjのvalueを報告する//OK
  CellObj:clear() //OK
  xlDown = -4121

  CellObj2=(CellObjのEnd(xlDown))
  CellObj2のaddressを報告する
  CellObj2:clear()

  CellObj3=(CellObjのOffset(1,2))
  CellObj3のaddressを報告する
  CellObj3:clear()
もし終わり
---------------

Re^2: インデクス付きプロパティについて

投稿者:和泉P 投稿日:2023/01/22(Sun) 16:21:54 No.2812

ゆうと さん
暫定対応ありがとうございます!!
仕様変更の可能性 了解です。 
素晴らしいです

▲ページの先頭へ

- WebForum -