KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

 KoMaDo / Headline / category :  【VISIO全般】  【News/宣伝】  【図形・操作】  【ファイル変換】  【ShapeSheet】  【VB/VBA】  【雑談その他】 ;

311 :vb.netのフォームにvisioの図貼れますか(01)  312 :図形のテキスト取得(03)  313 :VCからVisioのマクロを起動したいのですが・・・(12)  314 :IMEの入力モードが無効になってしまいます。(03)  315 :モードレスにおけるシェイプシートの制御(07)  316 :コネクタについて(07)  317 :Visio2003+ステンシルの参照設定+読み込み専用=エラー?(06)  318 :グループの中のシェイプ取得について(03)  319 :グループ図形の線の色などを変更する方法(07)  320 :VBとVBAのメリットとデメリット(04)  321 :強制終了された場合のイベント処理(04)  322 :VBAで図形の色を変更する (05)  323 :クリップボードをクリア(06)  324 :CSV出力でエラー(05)  325 :VisioでComment機能(08)  326 :VISIO図面内の1つのシェイプを選択する方法(06)  327 :MDI機能がありますか?(04)  328 :ExcelからVisioへの出力(05)  329 :Visioで。。(07)  330 :VB6からVISIO2003の図形操作かのうですか?(41)  331 :フォーカス機能?(18)  332 :Visio標準の保存をしたくない(03)  333 :ステンシルのVBAが別なOS・パソコンで動作しない(05)  334 :イミディエイトウインドウをクリアするツールボタン(03)  335 :プリインストールダイアログを消したい(04)  336 :ファイルパスの取得(04)  337 :カスタムプロパティをVBAで消す方法(04)  338 :ファイル保存時のメッセージ(11)  339 :Shapeのフォント名変更(15)  340 :ツールバーへコンボボックス(06)  341 :ハイパーリンクの削除(03)  342 :txtを元にした自動作図(03)  343 :2本の線を1つのパターンとして取得(05)  344 :選択した図形のシェイプシートの値をVBAで変更(05)  345 :VISIO2002、2003非互換について(06)  346 :新しいページの挿入法(05)  347 :Visioのオブジェクトモデルについて(03)  348 :グループ内の子シェープの選択判定(03)  349 :Shapeの色をRGB値で取得する方法(03)  350 :レイヤープロパティの「#」(02) 
ログ検索  リロード  前のページ  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 次のページ  総てのスレッド  スレッド総数 696311 - 320 を表示


311: vb.netのフォームにvisioの図貼れますか  全レス

01: 名前:suchan投稿日:2004/06/12(土) 10:28
vb.netのフォームにvisioの図を貼って、図の各オブジェクトにアクセス、色変え等の操作が出来るのでしょうか。
どこかにサンプルあれば、教えて欲しいのです。

■トップに戻る リロード  単独スレ表示



312: 図形のテキスト取得  全レス

01: 名前:P−太投稿日:2004/06/04(金) 14:41
コネクタで図形(テキスト入力されている)と結びついたときに
図形のテキストを コネクタのカスタムプロパティに設定したいのですが。
↓のように書いてみて実行をしたところ #name? エラーが起こりました。
分かる方がいらしたら教えてください。
Dim F_Shape As Visio.Shape
Dim T_Shape As Visio.Shape

Set F_Shape = Connects(1).FromSheet
Set T_Shape = Connects(1).ToSheet

F_Shape.Cells("Prop.Row_3").Formula = T_Shape.Text

02: 名前:yoda投稿日:2004/06/04(金) 16:31
Formula は数式ではない文字列の場合は、
ダブルコーテーションにする必要があります。
手っ取り早いのは、最後の行の右辺を
"""" & T_Shape.Text & """"
とすることです。

03: 名前:P−太投稿日:2004/06/07(月) 09:05
ありがとうございます。出来ました。

■トップに戻る リロード  単独スレ表示



313: VCからVisioのマクロを起動したいのですが・・・  全レス

01: 名前:さすけ投稿日:2004/05/26(水) 11:37
いつも勉強させて頂いています。
VCからVisioのマクロを起動させようとしています。ExecuteLineでマクロを
動かすことはできました。しかし、引数で配列を渡すようにしたいのですが
方法がわかりません。御存知の方いらっしゃいましたら御教授ください。

環境は VC++6.0 Visio2000 です

04: 名前:さすけ投稿日:2004/05/26(水) 17:00
yodaさん gonさん書き込みありがとうございます。
Visio初心者なのでアドオンの使い方を理解していません。
マクロとはどう違うのですか?
またマクロのように簡単に作成することができるのでしょうか?

05: 名前:なか投稿日:2004/05/27(木) 17:28
>マクロとはどう違うのですか?
アドオンもマクロもやれることは一緒です。
アドオンとマクロの大きな違いは、
アドオンはVisioが起動していたら使える
マクロはマクロが登録されているファイルを開いていないと使えない。

>またマクロのように簡単に作成することができるのでしょうか?
VBを使えばVBA(マクロ)と大して変わらずに作成できます。
VCだと慣れれば大したことないですけど初めてだと何ともいえません。
(さすけさんの実力しだいってとこです。)

06: 名前:さすけ投稿日:2004/05/27(木) 22:01
なかさんありがとうございます。
アドオンのことをお伺いしたいのですが、
登録はどのようにするのでしょうか?
マクロのように簡単に登録できるのですか?

07: 名前:さすけ投稿日:2004/05/27(木) 22:30
もう1つ教えて下さい。
ThisDocument.ExecuteLine("Module1.SomeProcedure 1, 2, 3")
をVBAで使うとき 受け側はどのようにして引数を得るのでしょうか?

わからないことばかりで申し訳ありませんが御教授下さい。
お願いします。

08: 名前:なか投稿日:2004/05/28(金) 09:13
>06
Visioのオプション設定でアドオンがあるパスを指定する。
もしくは、指定されているパスにアドオンをコピーする。

>07
↓こんな感じかな(動作確認してないので違うかも)
Sub SomeProcedure (var1 As Integer, var2 As Integer, var3 As Integer)
'ここに実際の処理を書く
End Sub

09: 名前:さすけ投稿日:2004/05/28(金) 10:05
なかさん おはようございます。
>07の質問で、ご指摘の通り実行しているのですが
Emptyになってしまいます。何か他の記述方法があるのでしょうか?

10: 名前:さすけ投稿日:2004/05/28(金) 10:26
なかさん すみません マクロ名の指定を間違えていたようです。
ここでの引数に文字列を指定したいのですが可能でしょうか?

11: 名前:なか投稿日:2004/05/28(金) 10:40
引数の型を Integer から String にするだけです。
Stringにする場合呼び出し側の記述も変わります。
ExecuteLine メッソドの例にも載っているので解かりますよね。

12: 名前:さすけ投稿日:2004/05/28(金) 11:03
あ〜 恥ずかしいです。 テンパってました。申し訳ありません。

■トップに戻る リロード  全レスを表示



314: IMEの入力モードが無効になってしまいます。  全レス

01: 名前:たか投稿日:2004/05/28(金) 01:47
キーワード「IME」で過去ログを探してみましたが、IMEが不能に・・・という
スレッドしか見つけられませんでしたので、スレッドを立てました。

標記の件ですが、ユーザフォームにテキストボックスを4つ設けます。
1番目のテキストボックスにカーソルを当て、IMEの入力モードを
「ひらがな」にします。データを入力し、2番目のテキストボックスに
遷移すると入力モードが「半角」に変わります。
テキストボックスプロパティはIMEModeを「fmIMEModeNoControl」
です。

テキストボックスプロパティのIMEModeを「fmIMEModeOn」にすると
逆に「ひらがな」がデフォルトとなり、半角入力する場合はIMEの
入力モードを変えなければなりません。

いろいろと試してみましたが、IMEModeを「fmIMEModeNoControl」
にして、IMEの入力モードを「ひらがな」にして、ユーザフォームを
開くとデフォルトが「ひらがな」になります。
IMEの入力モードを「半角」にして、ユーザフォームを開くとデフォルト
が「半角」になります。

私が行いたいのは、テキストボックスに入力する人がIMEの入力モード
を「ひらがな」にしたら、それ以降「ひらがな」に、IMEの入力モードを
「半角」にしたらそれ以降「半角」のままにしたいのです。

つまり、システムが入力モードを勝手に変えるのではなく、使う人が
任意に変えてデータを入力させたいのです。

Visioの仕様上、これは無理なのでしょうか。

02: 名前:なか投稿日:2004/05/28(金) 10:50
いまいち、やりたいことが解からないのですが、↓のような事ですか?
“4つあるテキストボックスの1つのIMEモードを変更したら他のテキスト
ボックスについてもその設定を有効にしたい。”ということでしょうか?
↑なら、VBAだとできないかも

>Visioの仕様上、これは無理なのでしょうか。
これVisioの仕様じゃありません。VBのテキストボックスの仕様です。
VCでフォームを作成すればできますから

03: 名前:たか投稿日:2004/05/29(土) 12:03
なかさん、ご返事ありがとうございます。
文章能力がないことに、自己嫌悪です。

>“4つあるテキストボックスの1つのIMEモードを変更したら他のテキスト
>ボックスについてもその設定を有効にしたい。”ということでしょうか?
>↑なら、VBAだとできないかも

そうですか。できないものは仕方ありませんね。
顧客には、そのように伝えたいと思います。
ありがとうございました。

■トップに戻る リロード  単独スレ表示



315: モードレスにおけるシェイプシートの制御  全レス

01: 名前:たか投稿日:2004/05/26(水) 21:48
はじめまして。たかと申します。
現在、Visioの機能を利用して業務フローを作成するツールを構築中です。
環境はWindows2000、Visio2000Standardです。
長文で申し訳ありませんが、ご存知の方がいらっしゃいましたら、
教えて頂けないでしょうか。

構築しているツールの仕様を以下に示します。
1.業務フローを構成するステンシルをダブルクリックすると、ポップアップ画面
  が表示する。
2.そのポップアップ画面に設けてあるプロセス概要やコメント欄にデータを
  入力し、OKボタンを押下するとシェイプシートのユーザ定義セルへデータ
  を格納する。

この処理自体はできましたが、顧客から「ポップアップ画面をモードレス
にして欲しい」と要望がありました。

モードレスにする方法は、過去のスレッドを参考にさせていただきました。

ここからが問題なのですが、例えば「プロセス」というステンシルを複数
ワークシートに配置します。任意の「プロセス」ステンシルをダブルクリック
するとポップアップ画面が表示されます。
ポップアップ画面が表示されたまま、別の「プロセス」ステンシルをダブル
クリックすると、もうひとつポップアップ画面が表示されます。

はじめに表示したポップアップ画面をアクティブにしてデータを入力し、
OKボタンを押下すると、2回目に表示したポップアップ画面にデータが
表示されます。

そこで、1回目に表示したポップアップ画面で入力したデータが2回目に表示
したポップアップ画面に反映されないようにするにはどうすればできるので
しょうか。

02: 名前:yoda投稿日:2004/05/26(水) 22:43
すみませんが、用語が正確でないようなので、確認したいのですが、
ステンシルとは、図面の上にある図形、即ちシェイプのことですね?
ポップアップ画面とは、ユーザーフォームのことですね?
>はじめに表示したポップアップ画面をアクティブにしてデータを入力し、
>OKボタンを押下すると、2回目に表示したポップアップ画面にデータが
>表示されます。
これは、最初のユーザーフォーム1で入力したデータを、次に表示する
ユーザーフォーム2に、何らかの方法で渡している、ということですね?
もしそうだとしたら、(わたしの間違いかもしれませんが)、渡さなければ、
反映されないのでは、ないでしょうか?

03: 名前:たか投稿日:2004/05/27(木) 00:19
ご返事ありがとうございます。
用語が適切でなくて申し訳ありません。

yodaさんに指摘して頂きましたとおり
 ステンシル→シェイプ
 ポップアップ画面→ユーザフォーム
です。

今回Visioでの開発が初めてなのですが、用語すらまともに使用できない
というのは勉強不足も甚だしいですね。すみません。

>これは、最初のユーザーフォーム1で入力したデータを、次に表示する
>ユーザーフォーム2に、何らかの方法で渡している、ということですね?
>もしそうだとしたら、(わたしの間違いかもしれませんが)、渡さなければ、
>反映されないのでは、ないでしょうか?

やはり、作り方に問題があるのでしょうか。
シェイプシートに「セクションの挿入」からユーザ定義セルを選択し、
そこに定義した項目へデータを格納しているだけなのですが・・・

もう一度ソースを見直して、本当にユーザフォーム1で入力したデータを
ユーザフォーム2に渡していないのか調べてみます。

04: 名前:なか投稿日:2004/05/27(木) 17:36
>はじめに表示したポップアップ画面をアクティブにしてデータを入力し、
>OKボタンを押下すると、2回目に表示したポップアップ画面にデータが
>表示されます。
2回目にダブルクロックしたシェイプにデータが設定されるということではないんですか?
↑のようなことなら、フォームでOKボタンを押したときにアクティブになっているシェイプ
に対しデータを設定するようになっていると思われます。

05: 名前:たか投稿日:2004/05/28(金) 01:26
なかさんお返事ありがとうございます。
お返事が遅れて申し訳ありません。

>2回目にダブルクロックしたシェイプにデータが設定されるということではないんですか?
>↑のようなことなら、フォームでOKボタンを押したときにアクティブになっているシェイプ
>に対しデータを設定するようになっていると思われます。

たしかに、2回目に選んだシェイプがアクティブになっています。
ということは、シェイプを選びなおさないといけないようですね。
プログラムで制御するのは、難しいというか無理という感じですかね。

06: 名前:なか投稿日:2004/05/28(金) 09:03
↓のような方法にすればできるはずです。
1.シェイプをダブルクリックしフォームを表示する際、シェイプのID番号を
フォームに渡す。
2.フォームのOKボタンが押された際、渡されたID番号を持つシェイプを
図面より検索し、そのシェイプに対しデータを設定するようにする。

07: 名前:たか投稿日:2004/05/30(日) 23:05
なかさん、方法論を教えてくださいましてありがとうございます。
シェイプのID番号をフォームに渡すという方法ですね。
イメージはできました。

あとは、どのような命令文を使うか、VBA逆引き辞典や
開発リファレンスを参照しながらがんばってみます。

それにしても、Visio関連の書籍って少ないですね。

■トップに戻る リロード  単独スレ表示



316: コネクタについて  全レス

01: 名前:ANDO投稿日:2004/05/25(火) 14:39
質問です。
VBAでコネクタをDrawLineのように描くことはないのでしょうか?
そのような関数はありませんか?
コネクタを使う場合は接続する図形が始点、終点決まっていないと使えないのでしょうか?

宜しくお願いします。

02: 名前:yoda投稿日:2004/05/25(火) 21:08
多分ないと思います。
Dropメソッドでステンシルからコネクタを図面にドロップして、
GlueToメソッドでBiginX,YやEndX,Yを図形に接続する
ような、やり方になると思います。

03: 名前:ANDO投稿日:2004/05/26(水) 10:08
yodaさんありがとうございます。
やはりそうですか。となるとコネクタの経路をVBAであれこれ指定して
作図するにはどのようにしたらよろしいかご存知ではないですか?

また別の質問になるのですが、DrawLineで書いた線で、線同士が重なった場合
コネクタのように飛び越させることは可能でしょうか?

質問ばかりで申し訳ありませんが宜しくお願いします。

04: 名前:yoda投稿日:2004/05/26(水) 11:25
>となるとコネクタの経路をVBAであれこれ指定して
>作図するにはどのようにしたらよろしいか
コネクタによってすこし違うかも知れませんが、
シェイプシートを調べて、主に、コントロール
ポイントや、幾何情報(Geometry)など、
どのセルをどのように指定すればよいか、
理解した上で、VBAで制御することに、
なるのだと、思います。
>DrawLineで書いた線で、線同士が重なった場合
>コネクタのように飛び越させることは可能でしょうか?
DrawLineで書いた線をVBAであれなんであれ、
加工すると言うことは、飛び越し機能のある図形を
作ることをゼロから始めることになり、大変だと
思います。すでに飛び越し機能のあるコネクタを、
ステンシルからDropする方が、楽だと思いますが。

05: 名前:ANDO投稿日:2004/05/26(水) 11:53
早速の御解答ありがとうございます。
私がやりたいことは線の重なり時に飛び越してくれるものを使いたいのですが
それを実現するにはコネクタをDropする方法が良さそうですね。
となると経路の調整が必要となって・・・ シェイプシートのGeometryなどを
勉強してみたのですがよくわからない状態です。

1つ考えたのですが 今作成している図は見た目だけの問題なので
図形の詳細な情報はいらなくなっています。そこでコネクタが曲がる地点に
新たな見えないステンシルをDropしてコネクタを繋げていこうと思うのです。
これなら見た目上は飛び越しもできると思うのですが、どう思われますか?
 

06: 名前:yoda投稿日:2004/05/26(水) 13:06
それでも十分だと思います。
私が以前やったのは、
VBAは関係ないのですが、
黒い線の背後に白い幅の広い線
を置いて、グループにしておきました。
これだと、後から書いた線が、前に書いた
線を切断したように見えます。

07: 名前:ANDO投稿日:2004/05/26(水) 14:27
yodaさんのご意見参考にさせて頂きます。
またわからないことがありましたら質問させて頂きますので
宜しくお願いします。それでは失礼します。

■トップに戻る リロード  単独スレ表示



317: Visio2003+ステンシルの参照設定+読み込み専用=エラー?  全レス

01: 名前:亀の妹投稿日:2004/05/25(火) 20:50
始めて質問させて頂きます。

Visio2003で、
(1) メニューバーを表示するマクロのみをもつテンプレート
(2) (1)からコールされる関数を持つステンシル
にて、ステンシル側にマクロを分離しています。

(1)において(2)を参照設定することで動作はするのですが、
なぜか(2)のステンシルファイルを「読み込み専用」にすると、
メニューバーの各コマンドがGLAY表示になってしまいます。
また「読み込み専用」を解除し、動作するまでに到ったものの、
なぜか(2)のステンシルが編集モード(=赤※付き)になって
しまいます。

この辺りの回避策に関してご存じの方いらっしゃいましたら、
ご教授下さい。宜しくお願いします。

02: 名前:yoda投稿日:2004/05/25(火) 21:32
ご質問を拝読しましたが、意味のわからないところが
ありますので、教えていただけませんか?

ご使用のVsioのバージョンは?OSは?
>(1) メニューバーを表示するマクロのみをもつテンプレート
>(2) (1)からコールされる関数を持つステンシル
(1)のマクロは、メニューバーを表示し、表示されたメニューを
クリックすると、(2)の関数がコールされるのですね?
また(2)の関数は、マクロの関数ですか?
>(1)において(2)を参照設定することで動作はするのですが、
「参照設定する」とは、どのようなメソッドで何をするのですか?
>なぜか(2)のステンシルファイルを「読み込み専用」にすると、
ここで使用しているメソッドはなにですか?

03: 名前:なか投稿日:2004/05/26(水) 08:48
メニューバーがステンシルに割り当てられているんじゃないかな?
コードを載せてくれれば、もう少し詳しくアドバイスできると思います。

04: 名前:亀の妹投稿日:2004/05/26(水) 12:07
yoda様
早速のコメントありがとうございます。以下、回答させて頂きます。

>ご使用のVsioのバージョンは?OSは?
Visioは2003です。OSはWindows2000とXPです。

>(1)のマクロは、メニューバーを表示し、表示されたメニューを
>クリックすると、(2)の関数がコールされるのですね?
はい。そのとおりです。

>また(2)の関数は、マクロの関数ですか?
はい。(2)がもつ標準モジュール内のPublic関数をCALLします。

>「参照設定する」とは、どのようなメソッドで何をするのですか?
(質問の回答になるか少々疑問ですが・・・)
(1)の[VBAエディタ]より、[ツール]-[参照設定]より、(2)のステンシル
ファイルを選択することで、「(1)から(2)の参照設定を行う」ことを
しました。

>>なぜか(2)のステンシルファイルを「読み込み専用」にすると、
>ここで使用しているメソッドはなにですか?
(こちらも、質問の回答になっているか不安ですが・・・)
エクスプローラ等から該当するステンシルファイルのプロパティ
変更で「読み込み専用」にしています。

補足させて頂きますと・・・
■(2)を読み込み専用にして起動した場合
  → (1)のメニューがグレーアウトしてしまう。
■(2)を読み込み専用としないで起動した場合
  → メニューも正常。コマンドも正常。しかし(2)が編集モード状態。
といった感じです。
・・・済みません。益々難解にしているかも知れません。
不明な個所や回答頂くに必要な情報ございましたら、その旨、
御指摘下さい。宜しくお願いします。

05: 名前:亀の妹投稿日:2004/05/26(水) 12:13
なか様
早速のコメントありがとうございます。

>コードを載せてくれれば、もう少し詳しくアドバイスできると思います。
後ほど抜粋したかたちのコードを掲載させて頂きます。
宜しくお願いします。

06: 名前:yoda投稿日:2004/05/26(水) 13:46
丁寧なご返事ありがとうございます。
何も問題ないように、思いますが、
グレーアウトしてしまうのを、検証するためには、
やはり、なかさんが言うように、関連するところだけの
コードが必要ですね。

■トップに戻る リロード  単独スレ表示



318: グループの中のシェイプ取得について  全レス

01: 名前:さすけ投稿日:2004/05/19(水) 19:24
質問させて頂きます!
グループ化されたステンシルの子供を捜す関数はありませんか?
皆さんはどのようにして子シェイプを見つけているのでしょうか?
教えて下さい。

02: 名前:yoda投稿日:2004/05/19(水) 21:02
やったことがないので自信がないのですが、
masterのshapesプロパティの更にshapesプロパティで
____For Each shp In Document.Masters("親").Shapes("父").Shapes
________Debug.Print shp.Name
____Next
のようにしたらいかが?
ここに、"親"は、ステンシル上のシェイプアイコンの名称、
"父"は、シェイプ(グループ化された)の名称です。
簡単なテストでは、子シェイプの名称を出力できましたが。

03: 名前:さすけ投稿日:2004/05/21(金) 14:43
ありがとうございました!
yodaさんのアドバイスより考えましてなんとかなりそうです。
あれこれやっていたらお礼が遅れてしまいました。
これからも分からないことが多々あると思いますので
宜しくお願いします。

■トップに戻る リロード  単独スレ表示



319: グループ図形の線の色などを変更する方法  全レス

01: 名前:名無しさん投稿日:2004/05/19(水) 17:17
以下のような構成のグループ図形(A)を例にします。
「1本の線(B)」+「2本の線(D),(E)で構成されているグループ図形(C)」
(A)----(B)
└-(C)----(D)
└-(E)
現状は、各メンバ(B)(D)(E)の"LineColor"セルをそれぞれ変更しています。
最上位のグループ図形にある"LineColor"セルを変更するだけでは、
その下位のメンバまで変更されないからです。

If (A).Type <> visTypeGroup then
(A).Cells("LineColor").Formula=??
Else
For Each shp1 In (A).Shapes
If shp1.Type <> visTypeGroup then
shp1.Cells("LineColor").Formula=??
Else
For Each shp2 In shp1.Shapes
If shp2.Type <> visTypeGroup then
shp2.Cells("LineColor").Formula=??
End If
Next
End If
Next
End If

この方法では、グループ階層の数が特定できない場合に困っています。
(現状は5階層位まで対応しています)
何階層であっても、一度に変更する方法はあるのでしょうか?
よろしくお願いいたします。

02: 名前:yoda投稿日:2004/05/19(水) 21:19
マクロの記録をとってみると、
グループ内のすべての子シェイプについて、
変更していますね。
どうしたら、
すべての階層をスキャンできるでしょう?
再帰呼び出し、かなあー。

03: 名前:なか投稿日:2004/05/20(木) 09:27
>再帰呼び出し、かなあー。
そうでしょうね。
後は、スタイルを使ってみるとか
スタイルならグループ図形に設定するだけで
そのメンバの書式も変更してくれます。

04: 名前:yoda投稿日:2004/05/20(木) 12:31
どうしても、すべての階層をスキャンしたいなら、
再帰呼び出しで、以下のようになりますが。

Sub ChangeLineColor()
____Dim shp As Visio.Shape
____Dim shps As Visio.Shapes
____Set shp = ActivePage.Shapes("シェイプ名").Style
____If shp.Shapes.Count > 0 Then
________sons shp
____End If
End Sub

Function sons(par As Visio.Shape) As Visio.Shapes
____Dim shps As Visio.Shapes
____Dim shp As Visio.Shape
____DoEvents
____Set sons = par.Shapes
____If sons.Count > 0 Then
________Set shps = sons
________For Each shp In shps
____________If shp.Type = visTypeShape Then
________________shp.Cells("LineColor") = 2
____________End If
____________Set sons = sons(shp)
________Next
____End If
End Function

05: 名前:名無しさん投稿日:2004/05/20(木) 13:06
全てのシェイプが対象ではないため、スタイルが使えなかったので、
再帰で呼び出しにて対応することにしました。
上のコードとは少し異なりますが、うまくいきました。
ありがとうございました。

06: 名前:スキップ投稿日:2004/05/20(木) 14:09
スキップです。

PageのカスタムプロパティをLineColorが参照するようにしたら
どうでしょうか?
LineColor=ThePage!Prop.AGroupColorみたいな。

子、孫、曾孫・・・シェイプのLineColorにこの式が必要ですが。

07: 名前:管理人投稿日:2004/05/20(木) 23:08
てすと

■トップに戻る リロード  単独スレ表示



320: VBとVBAのメリットとデメリット  全レス

01: 名前:AMI投稿日:2004/05/07(金) 11:39
すいません。教えてください。
最近VBをはじめた初心者です。
くだらない質問なんですが、
VBとVBAの基本的な違いは何ですか?
箇条書きで構わないので、メリットとデメリットを
教えてください。
お願いします。

02: 名前:yoda投稿日:2004/05/07(金) 12:16
基本的には同じですが、VBAは、Visioなどのアプリと強く結び
ついています。そのため、VBAは、アプリが動いていないと動きませんが、
直接アプリのオブジェクトを使えるので便利です。
伊藤了介、鳴海鼓大著の「Visio2002テクニカルガイド」を読むと、
とてもよく分りますよ。

03: 名前:AMI投稿日:2004/05/07(金) 13:08
yobaさん、ありがとうございます。
「Visio2002テクニカルガイド」を読んでみます。
すいません。まだまだ、勉強不足でした。

04: 名前:AMI投稿日:2004/05/07(金) 13:09
すいませんyodaさんでした。
名前を間違えてしまいました。
教えていただいたのに、
失礼な間違えをしてしまってすいません。

■トップに戻る リロード  単独スレ表示


ログ検索  リロード  前のページ  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 次のページ  総てのスレッド  スレッド総数 696311 - 320 を表示