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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0305
なうエクセルファイル出力(折り返し、破線、画像、図形)5解決


なう

リンク

2011/3/5(Sat) 13:50:17|NO.37407

いつも勉強させていただいてます。
たびたびですが、エクセルファイルの出力に奮闘してます。
どなたかアドバイスをいただきくお願いいたします。

Q1)あるセル内の文を[折り返して全体を表示]にチェックした状態と同じ出力をしたい。
 (セルの幅や高さは別途指定しているため、変更せず)

Q2)破線の指定でエクセルにある一番小さい点の破線にしたい。
  おそらくLineStyleで番号を指定すると思いますが、番号がわからず。。。。

Q3) 図形?の挿入で画像ファイルを指定して読み込み、位置も指定したい
  →やりかたまったく探せず。

Q4) 図形の挿入で四角形3個グループ化した図形をある位置に配置させたい。

下記サンプルです。4つも質問すみませんが、アドバイスいただければ幸いです。



; Excelを使う ; (MicrosoftExcelがインストールされている必要があります) ; newcom xlApp, "Excel.Application" xlApp("Visible") = 1 ; ウィンドウを表示 xlApp("DisplayAlerts") = 0 ; 警告メッセージを表示させない xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得 xlBook = xlBooks("Add") ; ワークブックを追加 xlSheet = xlBook("Worksheets","sheet1") ; Sheet取得 //文字 Q1エクセルの文字の制御で[折り返して全体を表示する]に指定したい MesE="いつも掲示板に助けられてます。" xlRange = xlSheet("Range","B2") ; "B2"を取得 xlRange("Value") = MesE ; 値の設定 //下書き破線 Q2 これよりもっと小さい点の破線にしたい // エクセルで線のスタイルにある一番小さい点線 xlRange = xlSheet("Range","B4:E4") xlBorders = xlRange("Borders", 9) xlBorders("LineStyle") = -4118 // 番号変更かな? // Q3 画像ファイルの挿入と位置を指定したい // Q4 グループ化した図形を読み込み、位置を指定したい // 図形は、簡単な四角形を3つ横並びしたもの stop



この記事に返信する


ひよこ

リンク

2011/3/5(Sat) 17:35:31|NO.37413

Excelのcom操作については、VBAの情報を参考にするとよいことが多いです。
そこから、オブジェクトをたどって、メソッド実行。などすれば結構うまくいきます。

画像挿入については
http://www.moug.net/tech/exvba/0120020.htm なんてどうでしょう。

破線は
http://www.happy2-island.com/excelsmile/smile03/capter00601.shtml で
定数たちは
http://park18.wakwak.com/~achiwa/magic/tips/08ox/002.htmlここ。
定数はサイズ大きいので、読み込みに時間かかります。



ひよこ

リンク

2011/3/5(Sat) 18:39:45|NO.37416

追加。
折り返しは
http://excel.style-mods.net/tips_vba/tips_vba_2_10.htm

グループ化は
http://www.moug.net/tech/exvba/0120023.htm

>Q4) 図形の挿入で四角形3個グループ化した図形をある位置に配置させたい。
これは四角形も挿入するのかな?それなら、
http://hinekure.vba-soft.com/?eid=262617
で、AddShapeから返ってきたShapeオブジェクトを、グループ化すれば…



なう

リンク

2011/3/7(Mon) 07:36:47|NO.37466

ひまわりさん
ご回答ありがとうございます。
今後はご紹介のサイトを参考に頑張れそうです。

Q1)はWraptextで、Q2は単に線を細くすることで対応できました。
ただ、VBAは、エクセルの関係ではじめたばかりでまだ理解できてなく、
Q3で行き詰っております。2とおり方法あるみたいですが、
コンパイルのトライ&エラーを繰り返してますが、正常に読み込めません。
下記問題のソースです。どなたかご指導いただきくお願いいたします。


 
; Excelを使う ; (MicrosoftExcelがインストールされている必要があります) ; newcom xlApp, "Excel.Application" xlApp("Visible") = 1 ; ウィンドウを表示 xlApp("DisplayAlerts") = 0 ; 警告メッセージを表示させない xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得 xlBook = xlBooks("Add") ; ワークブックを追加 xlSheet = xlBook("Worksheets","sheet1") ; Sheet取得 // Q3 画像ファイルの挿入と位置を指定したい myFilename = "C:\\test\\test.jpg" ; xlInsertPic=xlSheet("Picture",1) ; xlInsertPic("Insert Filename")=myFilename xlShapes = xlSheet("Shapes") xlShapes("AddPicture") = myFilename ; AddPicture(FileName, LinkToFile, SaveWithDocument, ; Left, Top, Width, Height) stop



ひよこ

リンク

2011/3/7(Mon) 12:56:28|NO.37467

僕のハンドルネームは、ひまわりでなくひよこ… おんなじ黄色だけど…
そんなことはさておき、本題へ。

; Excelを使う
; (MicrosoftExcelがインストールされている必要があります) ; newcom xlApp, "Excel.Application" xlApp("Visible") = 1 ; ウィンドウを表示 xlApp("DisplayAlerts") = 0 ; 警告メッセージを表示させない xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得 xlBook = xlBooks("Add") ; ワークブックを追加 xlSheet = xlBook("Worksheets","sheet1") ; Sheet取得 // Q3 画像ファイルの挿入と位置を指定したい myFilename = "ファイルパス";表示させる画像ファイルのパス xlShapes = xlSheet("Shapes");Shapesオブジェクト xlShapes->"AddPicture" myFileName, 1, 0, 0, 0, 100, 100;Shapesオブジェクトに対しAddPictureメソッド実行。 stop

とこんな感じです。動くことは動きます。
メソッドを実行するときは、
対象->メソッド名 引数1 引数2
みたいにします。
今回のAddPictureの引数はだいぶテキトーなんで、適宜直してください。



なう

リンク

2011/3/8(Tue) 07:06:51|NO.37490

"ひよこ"さん、ありがとうございます。
動作確認できました。引数の定義がないためだめ
だったのですね。調査不足でした。これで対応できそうです。
再度の回答ありがとうございました。

PS、名前すみません。なぜひまわりと書いたのか...
  たぶん急いでいたからかと。m(__)m



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