- 01: 名前:はな投稿日:2002/10/04(金) 13:24
- はじめまして、Visio初心者のはなと申します。
もしかしたら、同じ質問があるかと思われますが見つからなかったので
ご質問させて頂きます。
現在、Visioである図面を複写して複数ページとして使用しております。
(こちらはVB側で操作しています)
それに拡張機能としてトータルページ数と自身のページ数を
表示させるように改造しようと試みているのですが、
すべての図面に対して反映させることが出来ません。
どのようにしたら良いのか分かりません
アドバイスを宜しくお願いします。
環境
Windows2000、VB6、Visio5を使用
- 02: 名前:なか投稿日:2002/10/04(金) 14:22
- VBではページ挿入と図面の貼り付けを行っていると言うことですよね。
複写する図面にページ番号とページ数を定義したフィールド予め追加して
置けばいいんじゃないんですか?
- 03: 名前:はな投稿日:2002/10/04(金) 15:20
- なかさん、レスありがとうございます。
言葉が足りなくて申し訳ありませんでした。
>VBではページ挿入と図面の貼り付けを行っていると言うことですよね。
はい、その通りです。
>複写する図面にページ番号とページ数を定義したフィールド予め追加して
置けばいいんじゃないんですか?
確かに私もVisioのVBAで、ActivePageとページ数のカウント処理を
追加したのですが。。。
ページ数 1枚の時
図面1 → 1/1 OK
ページ数 2枚の時
図面1 → 1/1 NG(変化なし)
図面2 → 2/1 NG(トータル数は合っているが。。)
こうなって欲しい
図面1 → 2/1
図面2 → 2/2
自分自身、どうやって定義を行うのか迷っています
引き続きアドバイスを宜しくお願いします。
- 04: 名前:なか投稿日:2002/10/07(月) 10:02
- )確かに私もVisioのVBAで、ActivePageとページ数のカウント処理を
)追加したのですが。。。
確かにこのやり方では、挿入したページにしか現在の情報が反映されない
ですから上手くいかないでしょうね。
ここが、私の言いたかったことと違うんです。
それともVisio5にはフィールドを定義する方法がないのかな?
でも、Vertion3.0からAddFieldが使えるから多分大丈夫だと思うけど
私はVisio2002を使用しているので若干違うかもしれませんが
フィールドの定義方法を載せときますので参考にして下さい。
@図形を図面上に載せる
A図形をテキスト編集モードに変更する(F2キー押下でなる)
Bポップアップメニューの[フィールドの挿入]を選択する。
Cフィールドダイアログが表示したら[分類]をページ情報,
[フィールド]をページ数,[書式]を全般にしてOKボタンを押す。
Dページ数の後ろに”/”を挿入する。
E再度Bを行う。
Fフィールドダイアログを表示したら[分類]をページ情報,
[フィールド]をページ番号,[書式]を全般にしてOKボタンを押す。
以上で
”ページ数/ページ番号”を自動的に設定する図形が作成されます。
参考までにVBAのコードも掲載して置きます
Dim shpObj As Visio.Shape
Dim charObj As Visio.Characters
Set shpObj = ActivePage.DrawRectangle(1, 4, 4, 1)
Set charObj = shpObj.Characters
charObj.AddField visFCatPage, visFCodeNumberOfPages, visFmtNumGenNoUnits
charObj.Begin = 1
charObj.End = 2
charObj.Text = "/"
charObj.Begin = 2
charObj.End = 3
charObj.AddField visFCatPage, visFCodePageNumber, visFmtNumGenNoUnits
- 05: 名前:はな投稿日:2002/10/07(月) 10:49
- なかさん、レスありがとうございました。
お陰さまで思った通りの動作が出来るようになりました。
詳細なアドバイスのお陰でVisio初心者の私にも
簡単に設定ができました。
また、ご相談することがあるかも知れませんが
その時はまた宜しくお願い致します。
■トップに戻る リロード 単独スレ表示
|