KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

611 : マクロで置換を行いたいのですが (03)  612 :カスタムプロパティ の[行]ラベルの変更 (03)  613 :現在選択されているステンシルの列挙 (05)  614 :図面ページの向き (04)  615 :VISIOの起動時のファイルオープン (03)  616 :ページ・ページタブの制御 (03)  617 :VBAで複数ページをHTML形式で保存したいのです (01)  618 :VBA機能で可能なプログラミングの範囲 (03)  619 :図面のタイトルについて (10)  620 :VSLファイルの作成について (13)  621 :VBAでアクティブページを変更する (01)  622 :ショートカットメニュー制御 (05)  623 :モーダル (01)  624 :データベースプロパティを取得したい (01)  625 :GLUE TOメソッド実行時のEOFエラー (03)  626 :ダイアログ画面の配置位置について (01)  627 :マウスポインタの制御 (07)  628 :OLEリンクオブジェクトのファイルパスの取得 (01)  629 :オブジェクトの保護について (01)  630 :先頭ページを「1」以外にしたいのですが。 (09)  631 :ステータスバーのカスタマイズ(16)  632 :保存確認メッセージについて (06)  633 :VBAを使ってグループ解除せずにメンバーにアクセスする (02)  634 :アクションを起こした時にメニュー項目を識別する (01)  635 :ツールバーのボタン制御 (04)  636 :分布図をつくりたい (02)  637 :ステンシルの表示・非表示制御について (05)  638 :カスタムパターンが印刷できない (01)  639 :GetFormulasメソッドを使って (01)  640 :Excel・VBAからの利用 (01)  641 :テキストボックス (01)  642 :レイヤー (03)  643 :ステンシルの要素をプログラムで選択できませんか (01)  644 :VSLのサンプルソースファイル (05)  645 :カスタムプロパティ (02)  646 :図形枠 (04)  647 :複数テキストブロックをもつマスタシェイプの作り方 (02)  648 :ガイドに図形を接着するには (03)  649 :リソースファイルをVBAから使用するには (01)  650 :マクロの配布条件 (07) 
ログ検索  リロード  前のページ  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 次のページ  総てのスレッド  スレッド総数 696611 - 620 を表示


611: マクロで置換を行いたいのですが  全レス

01: 名前:Kentoku 投稿日:2000/10/28(土) 03:41
 複数のVisioファイルの文字を一度に置換するために、マクロで置換を行いたいのですが
visCmdEditReplaceを具体的にどのように使ったら良いのか(設定しなければならないパラ
メータなど)お教え頂けませんでしょうか?
 どうかよろしくお願い致します。

02: 名前:JunPapa投稿日:2000/10/30(月) 16:28
visCmdEditReplaceを使わないで、Shape.Textプロパティを参照して書き換える方法の方が
簡単だと思うのですが、どうでしょうか?

03: 名前:Kentoku 投稿日:2000/11/08(水) 12:53
やっとこさできました。
Shape.Textを使うと、文書をシェイプ丸ごと置き換えて文字属性(Boldなど)が
先頭の1文字のものが全てに適用されるようでしたので、Characters.TextAsStringを
使用しました。
VBAマクロはじめてだったので、ここで頂いた助言でいろいろ勉強させて頂きました。
どうもありがとうございました。

作成したマクロをアップしておきます。
ExcelSheetに置換したいVisio文書のあるフォルダ(フォルダにある*.VSDファイルが
全て変換対象になるので注意して下さい)と置換したい文字列(複数指定できます)を
指定して実行すると自動的に置き換えを行うものです。
実行前にVisioを空で起動しておく必要があります。

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



612: カスタムプロパティ の[行]ラベルの変更  全レス

01: 名前:かず 投稿日:2000/11/02(木) 19:51
はじめまして。

shimさんが09月05日に解決された変更の方法、どのようにされたのでしょうか。
DVSを読んでもわからなくて困っています。
よろしくお願いします。

02: 名前:shim投稿日:2000/11/06(月) 13:24
オブジェクト.Section(vissectionProp).Row(名前を変更したい行).Name = 名前

で変更できると思います。

もしくはAddNamedRowを使ってはじめから任意の行名にするか・・

私はこれで解決できました。

03: 名前:かず 投稿日:2000/11/06(月) 15:35
ありがとうございます。どちらもうまくいきました。

私の場合は、AddNamedRowを使ったほうが効率よく作業できたので、ほんと感謝です。

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



613: 現在選択されているステンシルの列挙  全レス

01: 名前:小椋 投稿日:2000/10/28(土) 16:23
小椋と申します

さて、Visio2000proで現在選択されているステンシルを
列挙しようとしたのですが、その方法が解りません。

やりたい事は、ステンシルダブルクリック時に、
自作ActiveXのインスタンスに対し、クリックされた
ステンシルのカスタムプロパティーに与えた内容を
マクロで与えると言うものです。

よろしくお願いします。

02: 名前:JunPapa 投稿日:2000/10/30(月) 16:47
WindowオブジェクトのSelectionプロパティで現在選択されているSelectionオブジェクトを
得ることができます。

例)
Dim visWindow As Visio.Window
Dim visSelection As Visio.Selection
Dim visShape As Visio.Shape

Set visWindow = g_appVisio.ActiveWindow
Set visSelection = visWindow.Selection

For Each visShape In visSelection
処理....
Next visShape

03: 名前:Kentoku 投稿日:2000/11/01(水) 21:32
9番のチャレンジをShape.Textでがんばっています。
で、試すにあたってここの上記のコードが役に立つと思い
使ってみたのですが、For Eachのところで「実行エラー
'438' オブジェクトは、このプロパティまたはメソッドを
サポートしていません。」というエラーが出てしまいます。
Visio5では、だめなのでしょうか?

04: 名前:かど 投稿日:2000/11/02(木) 07:55
かどです。
>使ってみたのですが、For Eachのところで「実行エラー
>'438' オブジェクトは、このプロパティまたはメソッドを
>サポートしていません。」というエラーが出てしまいます。
>Visio5では、だめなのでしょうか?

Visio5.0のVBAは VB4.0 ですので、For Each が使えません。

For i = 1 to visSelection.Count
Set visShape = visSelection(i)
処理
Next i

05: 名前:JunPapa投稿日:2000/11/02(木) 18:37
かどさん、フォローありがとうございます。
For Eachは単なる私の好みです。
まぎらわしいコード載せてスイマセンです。。。

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



614: 図面ページの向き  全レス

01: 名前:Akemi 投稿日:2000/11/01(水) 19:28
こんにちは。

図面のページを全て削除すると、縦向きの新規図面が自動的に表示されますが、これを横向きで表示されるようにすることは可能でしょうか。
又、VBAプログラムから、図面ページの向き(縦又は横)を設定することは可能でしょうか。

宜しくお願い致します。

02: 名前:かど 投稿日:2000/11/02(木) 08:08
かどです。

>又、VBAプログラムから、図面ページの向き(縦又は横)を設定することは可能でしょうか。

Document.PrintLandscapeプロパティがまさにこれです。

>図面のページを全て削除すると、縦向きの新規図面が自動的に表示されますが、これを横向きで表示さ
>れるようにすることは可能でしょうか。

こちらはわかりません。VBAを組むと出来るような気がするのですが・・・。

03: 名前:Akemi 投稿日:2000/11/02(木) 13:14
かどさん、ありがとうございます。

Document.PrintLandscape では、プリンタの「印刷の向き」は設定できますが、
ページの「図面の向き」は設定できないようです。
「図面の向き」を、VBAプログラムから設定する方法をご存知の方いらっしゃらないでしょうか。

04: 名前:かど 投稿日:2000/11/02(木) 15:35
かどです。
>Document.PrintLandscape では、プリンタの「印刷の向き」は設定できますが、
>ページの「図面の向き」は設定できないようです。

あぁ、恥ずかしい。

>「図面の向き」を、VBAプログラムから設定する方法をご存知の方いらっしゃらないでしょうか。

PageWidth と PageHeight の値を入れ替えるだけで変わるみたいです。

また勘違いだったらいやだな。

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



615: VISIOの起動時のファイルオープン  全レス

01: 名前:けろよん 投稿日:2000/11/01(水) 21:15
こんばんわ。

作成した .vsd ファイルを VISIOの起動時に自動的に(必ず)開くようにしたいのですが…
(VISIOには Excelの [XlStart] フォルダ のようなものは存在するのでしょうか?)

ご存知の方、よろしくお願いします。

02: 名前:かずどん 投稿日:2000/11/02(木) 10:55
かずどんです

Visioのフォルダー以下に「StartUp」のフォルダーを作ってそこに入れておけば起動時に
実行してくれます。

03: 名前:かずどん 投稿日:2000/11/02(木) 11:01
かずどんです。
ちょっと訂正

Visioのオプション→ファイルパスの設定の中のスタートアップで設定してある
フォルダー名を付けます。

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



616: ページ・ページタブの制御  全レス

01: 名前:Akemi投稿日:2000/10/25(水) 21:34
こんにちは

1つの図面ページだけを非表示にすることは可能でしょうか。
又は、1つの図面ページだけを、編集不可にすることは可能でしょうか。
あるいは、あるページタグを非常時、又は編集不可にすることは可能でしょうか。

宜しくお願い致します。

02: 名前:管理人投稿日:2000/10/26(木) 09:06
うーん・・・直接は無理なような気がしますね。
今、Visio2000が入っていないのでアレですが、Visio5だと以下の手順で編集・選択不可にできます。
1.ツール/図面保護で背景ページの保護を有効にする
2.該当ページを背景にする
これだと、全ての背景ページが編集・選択不可になりますが・・・

でわでわ(^.^)/~~~

03: 名前:Akemi投稿日:2000/11/01(水) 19:27
参考にさせていただきます。
ありがとうございました。

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



617: VBAで複数ページをHTML形式で保存したいのです  全レス

01: 名前:けろよん投稿日:2000/11/01(水) 18:58
作成したVISIOの図(複数ページ)をHTML形式で保存するマクロを作成しようと思い、
以下のようにコーディングしました。

Dim I As Integer
Dim docObj As Visio.Document
Dim PageList As Visio.Pages

Set PageList = ActiveDocument.Pages

For I = 1 To PageList.Count
PageList.Item(I).Export ("C:\Work\" & PageList.Item(I).Name & ".htm")
Next I

このコードを実行すると、確かに全ページ分 HTMLファイルとしてエクスポートされるのですが、
手で、メニューからファイルの種類をHTMLに指定して保存した場合と結果が異なってしまいます。

メニューからファイルの種類をHTMLにして保存した場合、1ページ目のHTMLを起動すると、
IEの最下部のページ一覧に全ページが表示され、ページの移動が可能です。
(ページ間のリンクがある)

しかし、上記のコードを実行した場合、各々のページしか表示されず、ページ移動ができません。
(ページ間のリンクがない)

Export の仕方に問題があるのでしょうか?
ご存知の方、よろしくお願いします。

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



618: VBA機能で可能なプログラミングの範囲  全レス

01: 名前:しん 投稿日:2000/10/20(金) 18:40
はじめまして。

VisioのVBAを使ったプログラミング機能に興味があり購入を考えているのですが、どの程度の
プログラムが作れるのかほとんどわからないため質問させていただきます。
市販の書籍にはほとんどサンプルが掲載されていません。図に書いたオブジェクトの情報を
収集して表にするような例(ネットワーク図からホスト一覧を得る等)はできるようですが、
オブジェクト(図形)をつなぐ配線の情報も利用するようなプログラムは可能なのでしょうか?

例えば、
・電子回路を書いてその回路の出力を計算する(AND,OR,NOTくらいの簡単な回路で十分です)
・家系図を書いて、ある2人の間が何親等か(親子か兄弟かいとこか)を計算する

のようなプログラムはできるのでしょうか?

ご教示いただければ幸いです。

02: 名前:管理人投稿日:2000/10/23(月) 17:19
コネクタや接続ポイントを使ってシェイプとシェイプの繋がりを検索することは可能です。
VISIOのサンプルプログラムにもネットワーク図の事例が載っていたかと思いましたが・・・
DVSをセットアップしてサンプルコードを参考にしてみては如何でしょうか。

03: 名前:しん投稿日:2000/10/25(水) 10:53
ありがとうございました。
購入して試してみることにします。

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



619: 図面のタイトルについて  全レス

01: 名前:ありが投稿日:2000/08/11(金) 14:53
はじめまして、ありがと申します。
最近、Visioでの開発を始めたのですが困ったことがありまして質問させて頂きます。
<環境>WindowsNT、Visio2000standard

図面のタイトルなのですが、通常
図面1.vsd:ページ - 1
というようになっていると思います。
これを
XXXX図面1.vsd:ページ - 1
というように、XXXXの部分に文字列を挿入したいのですがうまくいきません。
ActiveWindow.Captionの変更を試みたところ、
このアクションには無効なウィンドウタイプです。
と、実行時エラーが出てしまいました。
何か良い方法がありましたら、よろしくお願いします。

02: 名前:Licca 投稿日:2000/08/11(金) 15:03
こんにちは、"このタイプには無効なウィンドウタイプです"の警告はシェイプシートを開いているとか、図面ウィンドウ以外のウィンドウを開いているときにActiveWindowオブジェクトで図面制御のマクロを走らせようとするときに表示されます。
制御については分かりませんが、操作ミスと言えるのでは?

03: 名前:Licca 投稿日:2000/08/11(金) 16:50
引用間違えました。
ごめんなさい。

04: 名前:こうち投稿日:2000/08/11(金) 17:22
Visio5.0のリファレンスでは[Window]オブジェクトは[Caption]を持っていません。
Visio2000のリファレンスには持っているような書き方ですが
これはミスプリではないでしょうか?。

05: 名前:こうち投稿日:2000/08/11(金) 17:22
失礼しました。
Visio2000で追加されたプロパティですね。

イミディエイトウインドウで試したところ、取得は出来ましたが
代入は、やはりエラーになりました。

取得専用のプロパティではないですかね。

06: 名前:ありが投稿日:2000/08/11(金) 17:40
こちらでも色々調べてみたところ取得専用のプロパティということでした。

このプロパティ以外を使用した何とかタイトルを変更できないでしょうか?

「確実に変更はできない」という情報でもいいので何かしら情報お持ちの方、よろしくお願いします。

07: 名前:shim 投稿日:2000/08/22(火) 09:37
私も同じ件で困っています。
どなたか情報お持ちの方、宜しくお願いします。

08: 名前:管理人投稿日:2000/08/22(火) 10:43
saveasメソッドで図面を別名保存するのは筋違いでしょうか(^_^;)

09: 名前:Akemi 投稿日:2000/09/14(木) 09:19
私も似ている問題を抱えています。
タイトルバーの「Visio 2000」を削除して、他の文字列を表示したいのですが、
無理そうですね。
タイトルバー「Visio 2000」の左側のアイコンを変更することも考えています。
これは可能なのでしょうか。
宜しくお願いします。

10: 名前:Akemi 投稿日:2000/10/17(火) 18:01
APIの SetWindowText が使えました。
Visioアイコンを変更するのは、ちょっと無理そうですね。

VisioのMDIウィンドウのタイトルバー文字列は変更できないのでしょうか?
どなたかご存知ですか?

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



620: VSLファイルの作成について  全レス

01: 名前:Licca 投稿日:2000/08/22(火) 14:35
開発者ガイドを読んでもさっぱり分かりません。
誰か教えてください。

05: 名前:Licca投稿日:2000/08/24(木) 10:07
ファイルパスを指定すればVSLのアドオンが実行出来るのは分かります。
分からないのはVCなどからVSLを作成する方法です。
Visioの中にあるサンプルのソースファイルをどう組立てればVSLになるのかが分からないのです。

みやさんへ
Wizardの登録もできません。
何をどう設定すれば良いのか分かりません・・・。

06: 名前:みや投稿日:2000/08/24(木) 12:30
Wizardの登録ってあまりマニュアルに記載されていないようですね。
Visioのインストールフォルダー配下にある
DVS\Libraries\C-CPP\Wizards\Wizards.TXT
を一度読んでみてください。
それから時間があれば、DVS\Libraries\C-CPP\にあるReadMeや
ソースファイルを片っ端から覗いてみてください。英語に怖気づいてはいけません。

取りあえず、上記ファイルと同じ場所にある ***.awxファイルを
使用するC++のバージョンに合わせて、C++のインストールされている
先にコピーしてください。(下記参照)
Ver6.0の場合は5.0と同様で大丈夫です。

Visual C++ 4.x mfc4_vsl.awx \msdev\template
Visual C++ 5.0 mfc5_vsl.awx \MSDevStudio\SharedIDE\Template

で、C++を起動して、新規作成 プロジェクトタグで表示される画面の中から
「MFC VAddon VSL Wizard」を選択して、プロジェクト名、位置を適宜入力すれば
まずは開発環境の雛型が出来上がります。

この開発環境の中にプログラムを作成していけばOKです。
所々罠があるかと思いますが・・・・。
Wizards.TXTに記載のとおり、コンパイル時に
DVS\Libraries\C-CPP\Vao_inc
DVS\Libraries\C-CPP\Vao_src
フォルダーを参照しに行くようにコンパイルオプションを変えてあげないといけません。
このあたりはC言語、C++の開発知識の範囲ですね。

とりあえず、このあたりでどうでしょう?

07: 名前:Licca 投稿日:2000/08/24(木) 14:59
すいません・・・VCについての知識自体が浅いのでフォルダを参照させるように設定するには具体的にどうすれば良いのですか?
本当に初心者ですいません。

*Wizards.TXTに記載のとおり、コンパイル時に
*DVS\Libraries\C-CPP\Vao_inc
*DVS\Libraries\C-CPP\Vao_src
*フォルダーを参照しに行くようにコンパイルオプションを変えてあげないといけません。
*このあたりはC言語、C++の開発知識の範囲ですね。

08: 名前:みや投稿日:2000/08/24(木) 15:28
C++の「プロジェクト」→ 「設定」で表示される画面で「C/C++」タグを選んで
カテゴリを「プリプロセッサ」にして、インクルードのパスとい欄に、Vao_inc Vao_srcの
パスを追加してあげれば良いです。

それから、同じ設定の「リンク」タグの画面で
出力ファイル名が Debug/????.lib とかになってると思うので、これを Debug/???.vsl
にしてあげると、リンク結果としてVSLファイルが出力されます。

この手続きはC++DEBUGモードとReleaseモードでそれぞれ定義してあげてください。

09: 名前:Licca投稿日:2000/08/24(木) 16:15
ありがとうございます。
Visio\DVS\Libraries\C-CPPフォルダのなかのcppvslファイルを作成してみました。
C言語自体を良く分かってないのですが・・・このファイルはVSL Automation Demoマクロを実行出来ればコンパイル出来たということで良いのでしょうか?

10: 名前:みや投稿日:2000/08/24(木) 16:57
これは、C++に Cppvsl.dsw のワークスペースを読み込んで、コンパイルしたのですか?
だとしたら、多分OKだと思います。

11: 名前:Licca投稿日:2000/10/11(水) 12:53
みやさんへ
VSLで開発しなければならない状況になりそうです・・・
もう少し詳しく教えてください。
お願いします。

12: 名前:みや投稿日:2000/10/17(火) 08:48
どのあたりを教えたらいいでしょうかねー・・・・?
以前に書き込んだVSLのウィザードはOKですか?
それ以降の手順にしましょうか。
1個のVSLに複数の命令を登録する方法とか、Visioからの戻り値を
CStringで扱う方法とか・・・・
あとは、VisioとVSLの連動のプログラム流れとか・・・
ちょっとディープな話題になりますけど。

13: 名前:Licca 投稿日:2000/10/17(火) 09:31
みやさんへ

掲示板では長くなり過ぎそうなので、メールでお願いします。
名前のところをクリックしたら届くのかしら?

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


ログ検索  リロード  前のページ  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 次のページ  総てのスレッド  スレッド総数 696611 - 620 を表示