Re: 種類内で生成したキャンバスの挙動について

投稿者:アーク 投稿日:2023/02/03(Fri) 21:37:26 No.2815

こんばんは、アークです。

外しているかも知れませんが保存するだけなら2行目を下記の様に書くだけで可能です。

「描画テストのテスト用紙の図形画像を「[デスクトップ]テスト.png」へ保存する」

今、私のサイトで「ImageEditor」のメイキングストーリ(失敗談ともいう)を掲載しています。
ソースも公開していますので何かの参考になるかも知れません。

自己レス失礼します。

投稿者:schutzen 投稿日:2023/01/28(Sat) 22:35:35 No.2814

書き忘れておりました。
Ver. 1.8.1158辺りでは問題なく画像を保存できておりました。

種類内で生成したキャンバスの挙動について

投稿者:schutzen 投稿日:2023/01/28(Sat) 21:17:48 No.2813

こんばんは、お世話になります。

種類内でキャンバスを生成してそこに描画したものを画像として保存しようとしています。キャンバスの設定項目はスコープ外から設定できるようなのですが、保存で躓いてしまいます。具体的にはこんな感じです。

-----------------------------
描画テストのテスト用紙の大きさは、{200,200}
描画テストのテスト用紙を「[デスクトップ]テスト.png」へ保存する

描画テストとは
  単一種類
  
  +テスト用紙:キャンバス
  はじめの手順
    テスト用紙というキャンバスを作る
    テスト用紙へ線を描く
      その始点は、{20,20}
      その終点は、{120,120}
      その線色を赤に変える
      その太さを3に変える
    テスト用紙を更新する
  終わり
終わり
----------------------------

これを実行するとエラーメッセージが表示されます。
----------------------------
[キャンバス]を【ファイル名:文字列】へ保存
エラーが発生しました。
文法に間違えがないか、指定した値が正しいか、ご確認ください。

発生した例外:
オブジェクト参照がオブジェクト インスタンスに設定されていません。

文法や使い方に誤りがない場合、不具合によって発生したエラーと思われます。申し訳ございません。

[エラー番号901] [はじめ:2行目]
プロデル 1.8.1174 (64)
----------------------------
どのようにすれば解決できるでしょうか?よろしくご教授をお願いいたします。

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

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

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

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: 有難う御座います。

投稿者:ひよこ 投稿日:2023/01/22(Sun) 00:51:00 No.2810

こんばんは。
ご対応頂き有難う御座います。思っていた物が作れそうです。
+/-での計算もより直感的に書けるようになって有難いです。

最新版で対応しました

投稿者:ゆうと 投稿日:2023/01/21(Sat) 14:12:05 No.2809

こんにちは。質問ありがとうございます。
日時期間形式の計算について「足す」が未対応でしたので最新版にて対応しました。

なお、最新版では+/-で計算できるようになりましたので、活用してください。

「[(値2-値1)+(値4-値3)]」を表示する

それでは。

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

投稿者:和泉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マクロをプロデル化できるとワクワクしています
よろしくお願いいたします。

日時期間形式での時間差同士の計算

投稿者:ひよこ 投稿日:2023/01/08(Sun) 23:02:48 No.2806

こんばんは。
日時期間形式での時間差同士の計算を行いたいのですが、下記のプログラムだと2:00:00ではなく20000と表示されてしまうのですが、正しく表示させる方法はありますか?そもそもそういった計算は出来ないのでしょうか?

値1という日時期間形式(「1:00:00」)を作る
値2という日時期間形式(「2:00:00」)を作る
値3という日時期間形式(「1:00:00」)を作る
値4という日時期間形式(「2:00:00」)を作る
「[(値1と値2の時間差)と(値3と値4の時間差)を足したもの]」を表示する

Re: インデックスが配列の境界外というエラーが起こります

投稿者:ゆうと 投稿日:2022/12/04(Sun) 03:57:53 No.2805

こんにちは。メッセージありがとうございます。

> ICカードリーダーをかざした後にカードを取ると下記のようなエラーが起こります。

エラーにつきましては、PC/SCプラグインに問題がありましたので最新版で修正しました。
最新版でお試しください。

また、FeliCaプラグインからPC/SCプラグインに置き換える場合に
書き換えが必要な個所の説明が抜けておりました。
次のページに加筆しましたので、参考にしてください。

https://wp.utopiat.net/2019/02/867/

よろしくお願いします。

▲ページの先頭へ

- WebForum -