HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0309
なうエクセル出力(図形オブジェクトの枠線と塗りつぶし)4解決


なう

リンク

2011/3/9(Wed) 06:49:56|NO.37508

HSPからのエクセルファイルの出力について質問させて頂きます。
たびたびの質問ですみません....
図形オブジェクトをAddShapeにて組み込むことができたのですが、
枠線を細い黒線、塗りつぶしなし(または白)にしたいと思ってます。
VBAでは、Line.WeightやFill.ForeColor.SchemeColorを使うようですが、
まだHSPの場合の記載方法が理解できていなく(VBAもですが)、
コンパイルできてません。
どなたかアドバイス頂ければ幸いです。




newcom xlApp, "Excel.Application" xlApp("Visible") = 1 ; ウィンドウを表示 xlApp("DisplayAlerts") = 0 ; 警告メッセージを表示させない xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得 xlBook = xlBooks("Add") ; ワークブックを追加 xlSheet = xlBook("Worksheets","sheet1") ; Sheet取得 // 印枠四角形オブジェクト Shapes= xlSheet("Shapes") Shapes -> "AddShape" 1, 400, 170, 40, 40 Shapes -> "AddShape" 1, 440, 170, 40, 40 Shapes -> "AddShape" 1, 480, 170, 40, 40 // オブジェクト図形の表示 ; Selection.ShapeRange.Line.Weight = 2 ; Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10 stop </pr>



この記事に返信する


ひよこ

リンク

2011/3/9(Wed) 19:01:29|NO.37518

分かってるかもしれませんが、Selectionは選択されているShapeオブジェクトを指しています。
この場合、Selectionにあたるオブジェクトは、AddShapeメソッドによって返されるので、
メソッドを実行する前のところにcomres命令によって
戻り値を入れる変数を指定しておけばよいです。

あとはその変数に入っているオブジェクトから、
ShapeRangeを取得し、LineやFillへとたどっていきます。



なう

リンク

2011/3/11(Fri) 07:45:47|NO.37532

ひよこさん、ご回答ありがとうございました。

回答をもとに再チャレンジしてみました。
各図形オブジェクトを指定して、.ごとの命令をつなげていく認識は
あるのですが、まだ基本知識が足りなさすぎ、コンパイルエラーが
でます。(comresを初利用ですが変数が決まってるとか?)
どなたかご指導頂きたくお願いいたします。



newcom xlApp, "Excel.Application" xlApp("Visible") = 1 ; ウィンドウを表示 xlApp("DisplayAlerts") = 0 ; 警告メッセージを表示させない xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得 xlBook = xlBooks("Add") ; ワークブックを追加 xlSheet = xlBook("Worksheets","sheet1") ; Sheet取得 Shapes= xlSheet("Shapes") comres shapeobj Shapes -> "AddShape" 1, 400, 170, 40, 40 xlShapeRange = shapeobj("ShapeRange") // compile error xlLine = xlShapeRange("Line") xlLine("Weight") = 2 stop </pr>



ひよこ

リンク

2011/3/11(Fri) 17:19:56|NO.37538

すいません。僕が嘘の情報を載せたようです。

AddShapeの戻り値はShapeRangeに当たるもののようで、
shapeobjから直接LineやFillを取得していいようです。

ちゃんと調べもせず、すいませんでした。



なう

リンク

2011/3/14(Mon) 07:15:32|NO.37586

ひよこさん
ご回答ありがとうございました。
無事実行することができました。
(返信遅くなりすみません。)



ONION software Copyright 1997-2023(c) All rights reserved.