KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

501 :自動で文字列ステンシル配置、LocPinXを求めるには?(01)  502 :ユーザにページの名前を変更させない方法は?(05)  503 :Visioのウィンドウをアクティブにするには?(02)  504 :UMLステンシルのプロパティ設定(01)  505 :Win9X と Visio2000(03)  506 :フォーム内での図形描画(02)  507 :メニューへのマクロの関連付けと引数の渡し方(01)  508 :データベースの内容を図面に自動で反映する方法(03)  509 :SETUP時エラー(01)  510 :VBAの参考書(01)  511 :ステンシルの名称をVBAでとれるでしょうか?(02)  512 :スナップと接着の解除方法(01)  513 :オブジェクトとして埋め込んだエクセルシートをVBAで開きたい(04)  514 :自分で自分を閉じる(05)  515 :背景頁をアクティブにする(03)  516 :FindWindow() での Visioハンドルの取得(06)  517 :VISIO2000と2002ってどこまで違うの?(ツールバー編)(01)  518 :GlueToについて(05)  519 :次ページをActiveにする方法は?(04)  520 :名刺(03)  521 :MSのVBAのサポートについて(04)  522 :部分的に選択領域内に入る図形も選択(01)  523 :ApplicationオブジェクトのVisibleプロパティ(02)  524 :VC++ ダイアログがEnterキーで消える(02)  525 :OnKeystrokeMessageForAddon イベント(01)  526 :「Visio2000 SR1」 と 「Visio Standard 5.0」の選択立ち上げ(05)  527 :UMLでのコード自動生成について(VISIO2002)(03)  528 :Visio2002のTextBoxで、IMEが不能になります。(04)  529 :特定のキーを押したときに任意のマクロを起動するには?(02)  530 :テンプレート、ステンシル、ヘルプファイルのインストーラ(02)  531 :VB6からVISIO2000へのハイパーリンクの貼り付けについて(01)  532 :シェイプを選択状態にしたい(03)  533 :接続ポイントのDセル(01)  534 :接続情報(01)  535 :数式の設定(02)  536 :作業状態が保存できません(01)  537 :順番にプログラムを読み込みたい(06)  538 :[挿入]-[フィールド] を VBAで(06)  539 :プログラム起動中は画面を固定したいのです!(01)  540 :Formulaプロパティについて(04) 
ログ検索  リロード  前のページ  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 次のページ  総てのスレッド  スレッド総数 696501 - 510 を表示


501: 自動で文字列ステンシル配置、LocPinXを求めるには?  全レス

01: 名前:初心者投稿日:2002/05/30(木) 18:54
AccessのVBAからDBを元に自動で可変長の文字列ステンシルを配置しようとしましたが、うまくいきませんでした。
DBにある情報は文字列、フォント、あと起点の座標です。
つまり、以下の条件のとき、PinXの値が欲しいわけです。

・起点となるX座標がある
・文字列がある
・フォントの情報がある

はじめ、
  PinX = 起点X + LocPinX
として、PinXの値を求め、Visioに配置しようとしたのですが、
LocPinXの値を求められず、実現できませんでした。

文字列のLocPinXの求めかた、もしくは他の方法で自動配置を実現できる方法を教えて下さい。

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



502: ユーザにページの名前を変更させない方法は?  全レス

01: 名前:ilc投稿日:2002/05/24(金) 15:11
Page.Nameを自動で設定しているので、ユーザにページの名前を変更させない方法を探して
いますが、図面保護の設定では名前の変更まで保護をかけられないので困っています。

ページのシェイプシートにPage.Nameが出てきて、Guardがかけられるのなら可能かも
しれませんが、シェイプシート内にPage.Nameは確認できませんでした。ならば、
ということでページの挿入で設定ダイアログを出さなくしようとしてみましたが
ツールバーーの[ファイル]から、ページ設定コマンドを削除することは出来ましたが、
ページタブ上の右クリックで変更できてしまいます。

ユーザが名前を変更した時のイベントがあれば、直後に名前の再設定をしても
いいのですが、そのようなイベントは見当たりませんでした。
Visioを使い始めて三週間になりますが、よろしくお願いします。

02: 名前:ilc投稿日:2002/05/24(金) 17:07
メイン開発環境はWinNT4.0+Visio2000ですが、
Win98+Visio2002の組み合わせもあります。

03: 名前:yoda投稿日:2002/05/26(日) 15:48
ThisDocument.PageChangedイベントで、ページの名前が変わっていたら名前を元に戻したらいかがなものでしょうか?

04: 名前:ilc投稿日:2002/05/28(火) 11:42
yodaさん、レスありがとうございます。御指摘通り
PageChangedイベントでPage.Nameの変更を検出できました。

しかし、Page.Nameの変更を検出して名前を再設定すると、
更にPageChangedイベントが起きてループになってしまいます。
そもそも、PageAddedイベントで名前を自動で設定した時にも、
PageChangedイベントは起きてしまうようです。
この作業を一回だけするとしても、処理数がページ数とともに
指数的に増えそうなので現実的ではないですね。

現状ではPageChangedイベントによって、Page.Name自動設定
するだけにしておきます。見かけ上だけでも名前の変更を
保護することは、デメリットが多き過ぎな感じもしますので、
あきらめます。

05: 名前:yoda投稿日:2002/05/29(水) 04:23
確かにループしてしまいますね。ループしないようにしようとすると余計な手間がかかりますね。都合の悪いイベントは起きないようにできるといいですね。失礼しました。

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



503: Visioのウィンドウをアクティブにするには?  全レス

01: 名前:TAK投稿日:2001/12/19(水) 10:24
AccessのデータベースとVisioのシェイプをリンクさせていて、Accessのフォームのボタンを押すとそのレコードに対するシェイプが選択されるようにプログラミングしていますが、シェイプを選択した後に”AppVisio.Visible = True”としてもVisioのウィンドウがアクティブになりません(正確に言うと、アクティブにはなってるけど、AccessもアクティブになっててVisioがAccessより前面に表示されない。ちなみにExcelとかWordではVisibleプロパティの切り替えで前面に表示されます)。
Visioのウィンドウが前面に出てくるようにするにはどのようにしたら良いのでしょうか?
もしご存知でしたら教えてください。よろしくお願いします。

02: 名前:JOE投稿日:2002/05/23(木) 16:51
TAKさんの質問のついでに、開かれている複数のVisioファイルがあるとして、名指ししてウィンドウをアクティブにする方法についても教えてください。

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



504: UMLステンシルのプロパティ設定  全レス

01: 名前:tk投稿日:2002/05/23(木) 14:47
シートに配置したUMLステンシルのプロパティを操作・設定
したいのですが可能でしょうか。
具体的には、シートに追加したUMLクラスに名前・属性・ステレオタイプ
などを動的に設定する方法はないのでしょうか?
どなたかご指導ください。

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



505: Win9X と Visio2000  全レス

01: 名前:かど投稿日:2002/05/21(火) 11:34
かどと申します。
Win98系とVisio2000の組み合わせで困った問題が起きています。
現象が発生する手順は、
1. Win98上で Visio2000 を起動し、空白の図面を開く
2. ページ上に四角形を一つ置く
3. VBA に以下のコードを記述する。
----------------
Public Sub Test()
Dim pShape as Shape
dim i as Integer

set pShape = ActivePage.Shapes(1)

Call prv_Copy(pShape)

for i = 1 to 30
ThisDocument.Pages.Add
Call prv_Copy(pShape)
Next i

End Sub

Private Sub prv_Copy(vShape as Shape)
Dim i as Integer
dim pShape as Shape

For i = 1 to 10
vShape.Copy
ActivePage.Paste
Set pShape = ActiveWindow.Selection.Item(1)

pShape.Text = "a" ' Text セット
Next i
End Sub
----------------

4. TestメソッドをVisio上で実行

そうしますと、メモリリソースとGDIリソースを徐々に食いつぶしてしまい、
そのうちにリソース不足となりハングします。

上記プログラムは、ページを追加する毎に四角形シェイプを複写し、
"a" という文字をセットするプログラムです。

これが、
・Visio2002では発生しない
・WinNT,Win2000とVisio2000の組み合わせでは発生しない
・Text をセットしないと発生しない
・Win98とMe+Visio2000 の組合わせのみ発生(Win95は未確認)
となります。

大変に困っていましてMSのサポート情報にも見当たりませんでした。

どなたかご教授お願いします。

02: 名前:名無しさん投稿日:2002/05/21(火) 20:22
DoEventsを入れてみる。
最終的な処理が終わるまで描画と再計算をSTOPする。
クリップボードは毎回クリアする。

といったところでしょうか・・・

でも、根本的にはNTカーネルにしなきゃダメなんじゃ(^_^;

03: 名前:かど投稿日:2002/05/23(木) 09:36
こんにちは。かどです。
お返事有難うございます。

>DoEventsを入れてみる。
ガンガン減りつづけました。

>最終的な処理が終わるまで描画と再計算をSTOPする。
ガンガン減りつづけました。

>クリップボードは毎回クリアする。
ガンガン減りつづけました。

結局、別方法で対処しました。
お騒がせしました。

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



506: フォーム内での図形描画  全レス

01: 名前:こうちん投稿日:2001/12/20(木) 11:54
はじめまして。VISIOを使い始めてまだ間もないんですが、VISIOのVBAで、フォーム内に簡単な図形(直線、円弧)等を描くコントロールはないのでしょうか??ありましたら教えてください。よろしくお願いします。

02: 名前:名無しさん投稿日:2002/05/11(土) 16:42
PL

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



507: メニューへのマクロの関連付けと引数の渡し方  全レス

01: 名前:名無し投稿日:2002/04/24(水) 16:30
こんにちは。
menuitemObj.AddOnName = "マクロ"
でそのメニューから実行するマクロを関連付けますよね?
その時、引数として文字列を二つ渡したいのですが、どのように指定すれば良いのでしょうか?
メニューを設定するときに一つの引数を指定する方法は出来たのですが、二つだとうまくいきません。。。

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



508: データベースの内容を図面に自動で反映する方法  全レス

01: 名前:Naka投稿日:2002/04/05(金) 00:57
始めまして、初投稿です。

VISIO5で、図形とデータベースをデータベース
ウィザードを使ってリンクしDBの内容を図形に
表示しています。

DBの内容は他のアプリから随時更新されます。

その内容をVISIOで作成した図面に、図面を開いた
時に反映したいのですが、VBAを使って図面をリフレッシュ
する方法がわかりません。

この方法がわかる方、ご教授願います。

※手動で図形をひとつひとつマウスの右クリックで
 リフレッシュすることが出来ますが、それを自動で(図面の起動時に)
 一括して行いたいと言うことです。

 よろしくお願い致します。

02: 名前:名無しさん投稿日:2002/04/09(火) 19:31
DocumentOpenedのイベントにコードを書けばよろしいのでは?

03: 名前:Naka投稿日:2002/04/10(水) 23:41
コメントありがとうございます。

VBAで、その具体的なリフレッシュのコードがわかりませんでした(^_^;)

色々やってみたのですが、データベースウィザードで図面ページに
追加するイベントを設定できることがわかりました。
この設定をすることで図面を開いた時に、リンクされているシェイプ
がリフレッシュされました。

今回はこの方法で対応したいと思ってます。
ありがとうございました。

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



509: SETUP時エラー  全レス

01: 名前:名無しさん投稿日:2002/04/09(火) 11:02
教えて下さい。

VBでVIsioの図面を作成するプログラムをディストリビューションウィザードで作成後、
SETUP.exeを起動すると途中で以下の様なエラーが起きます。

エラー内容
*** エラー: ファイル 'C:\WINNT\System32\Vislib32.DLL' の登録中に LoadLibrary() が失敗しました。
*** 次の処理中: DllSelfRegister: "C:\WINNT\System32\Vislib32.DLL"

開発環境
・Visual Basic Ver6.0
・Windows2000
・Visio Professional 5.0+

これは何かの設定がたりないのでしょうか?

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



510: VBAの参考書  全レス

01: 名前:カミクロ投稿日:2002/04/07(日) 14:37
始めまして、初投稿です。

過去ログで紹介されていた「Visio2002テクニカルガイド」
は大変参考になりました。

ただ、もう少しVisio VBAに関して詳細な情報が
必要なのですが、他に参考書はありますでしょうか?

教えてください。

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


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