KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

601 :グループ解除について (08)  602 :VBAで2つのシェイプをコネクタで接続したい (01)  603 :オブジェクトの座標をVBAで知りたい (05)  604 :右クリックのショートカットメニュー作成方法 (01)  605 :shapeのデータ (01)  606 :MSVCRT.DLLアドレス違反で異常終了 (01)  607 :シェイプで囲まれた中にある別のシェイプを知る方法 (05)  608 :Visio2000をsetupするとVB6ラインタイムもsetupされる? (04)  609 :VSLでのイベント処理 (01)  610 :ユーザーフォームに線を引きたい (05)  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) 
ログ検索  リロード  前のページ  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 次のページ  総てのスレッド  スレッド総数 696601 - 610 を表示


601: グループ解除について  全レス

01: 名前:まちゃ!投稿日:2000/12/14(木) 17:22
度々すいません。

VBAでグループ解除を行っていると、
「マスターとのリンク〜〜破棄しますか?」
のダイアログが出てくる時があるのですが、このダイアログが出ないようにする方法はあるのでしょうか?
過去のログ(保存確認メッセージについて)で、
「AlertResponse=3」というのが書いてありましたが、
どのように使うのでしょうか。

Visio4です。よろしくお願いします。

02: 名前:管理人投稿日:2000/12/14(木) 19:09
エッ?VISIO4でVBAが動くんですか??

03: 名前:まちゃ! 投稿日:2000/12/18(月) 11:44
どうも。

回答がなかなかつかないので、バージョンの限定をやめます。
Visio5,2000など、どれでも構いません。

よろしくお願いします。

04: 名前:まちゃ! 投稿日:2000/12/19(火) 11:20
過去ログに近いことが書いてあるのを発見しました。

し・か・し・・・・
Shape.Master.Delete も使えませんでした。
指定方法が悪いのかもしれません。

Dim visApp As Object
Dim visActWin As Object

Set visApp = GetObject(, "Visio.Application")
Set visActWin = visApp.ActiveWindow
visActWin.SelectAll

この状態のとき、
Shape はどこから採ればいいのでしょうか?
ActiveDocument から Shape を採ろうとすると、
(visApp.Activedocument.Shapes.Master.Delete)
「オブジェクトはこのプロパティ・メソッドをサポートしていない」エラー
になりました。 (T_T)

マイクロソフトのニュースに行っても、有効な書き込みがないですし。
ここの方がとっても詳しい!!

やはり、Visio4 では無理があるのかな?

05: 名前:かど 投稿日:2000/12/19(火) 11:36
かどです。
>Set visApp = GetObject(, "Visio.Application")
>Set visActWin = visApp.ActiveWindow
>visActWin.SelectAll
>
>この状態のとき、
>Shape はどこから採ればいいのでしょうか?

visActWin.Selection ではだめでしょうか?
ヘルプには Visio2.0からと記述してあるのでOKだと思います。
また、AlertResponse プロパティは Visio4.1 となっています。

使用方法は、
ar = Application.AlertResponse
Application.AlertResponse = 1
<<削除処理>>
Application.AlertResponse = ar
てな具合でしょうか?

当方に Visio4がないので検証していませんので、その辺はご容赦を。

06: 名前:まちゃ! 投稿日:2000/12/19(火) 13:23
かど さん、どうもありがとうございます。

折角ですが、visActWin.Selection ではダメでした。
Selectall した直後、Msgbox visActWin.Selection.Count は使えるのですが、
どうも Shape を認識しないようです。
Shapes.Count 等やってみましたが、ことごとく前述のエラーになりました。

他のバージョンでは Shape はどのように使っているのでしょうか?

あと、AlertResponse は諦めます。 (T_T)

07: 名前:かど 投稿日:2000/12/19(火) 13:55
かどです。
>折角ですが、visActWin.Selection ではダメでした。
>Selectall した直後、Msgbox visActWin.Selection.Count は使えるのですが、
>どうも Shape を認識しないようです。
>Shapes.Count 等やってみましたが、ことごとく前述のエラーになりました。

Selectionオブジェクトに Item プロパティがありませんか?
これがいわゆる Shapes のかわりです。

Dim a As Visio.Shape
Set a = ActiveWindow.Selection.Item(1)

08: 名前:まちゃ! 投稿日:2000/12/22(金) 14:19
かど さん、遅くなりました。 m(__)m

Item(1) は使えるようですが、それ以降のプロパティが取得できません。
Count は使えましたが。

肝心の Master.Delete は使えませんでした。
ひょっとして、Masterプロパティそのものがないのかもしれません。

>Selectionオブジェクトに Item プロパティがありませんか?

Visio4J には VBA が付いてこないので、他のソフト(この場合、Excel)の VBA から
Getobject(,"Visio.Application") で使っています。
ですから、ピリオドを打ったら次のプロパティやメソッドが出てくることがないため、
かなり行き当たりばったりの試行錯誤の繰り返しをしております。
「座標を知りたい」のスレッドにもあるように、お試し版みたいなので、
マイクロソフトにも聞けないし・・・・・ (T_T)

もう少し考えてみます。
(でも、そろそろ年末休みになっちゃうから、年越してから考えようかな?)

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



602: VBAで2つのシェイプをコネクタで接続したい  全レス

01: 名前:mio 投稿日:2000/12/21(木) 16:19
はじめまして、Visio2000 VBA初心者です。
Visio2000のVBAで2つのシェイプをコネクタで接続しようとしています。
以下の様なソースで多少強引に行ったところ、接続自体はうまくいきました。
しかし、本当は矢印を図1の向き(縦)で表示したいのですが、自動的に図2
の向き(横)になってしまいます。
解決策、または参考になる文献/情報をご存じのかたがいらっしゃいましたら、
ご教授願えないでしょうか。


     │
   ┌─┘
   ↓
   図1


┌──

   ←─┘
   図2サンプルソース
dim ShpObj as Visio.Shape
dim CopyShp as Visio.Shape

'コネクタオオブジェクトの複製
Set ShpObj = MainObj.Shapes("LinkLine")
ShpObj.Copy
SubObj.Paste
Set CopyShp = SubObj.Shapes("LinkLine")

'シェイプ接続元と接続先をコネクション
CopyShp.Cells("BeginX").Formula = "PAR(PNT(接続元.90!Connections.X3,接続元.90!Connections.Y3))"
CopyShp.Cells("EndX").Formula = "PAR(PNT(接続先!Connections.X2,接続先!Connections.Y2))"
CopyShp.Cells("BeginY").Formula = "PAR(PNT(接続元.90!Connections.X3,接続元.90!Connections.Y3))"
CopyShp.Cells("EndY").Formula = "PAR(PNT(接続先!Connections.X2,接続先!Connections.Y2))"

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



603: オブジェクトの座標をVBAで知りたい  全レス

01: 名前:まちゃ!投稿日:2000/12/14(木) 11:55
オブジェクト(Visioでは何と呼のでしょうか?)の座標をVBAから知りたいと思っています。

 ・座標を知るプロパティ
 ・その座標の単位(ポイントなのか、センチなのか、等)
 ・起点はどこか(用紙の左上かな?)

とりあえず以上の事を教えて下さい。

Visioはバージョン4です。(VBAは他のソフトのを使っています。)
よろしくお願いします。

02: 名前:管理人投稿日:2000/12/14(木) 19:02
VISIO4はVBA対応していません。
VISIO4.1でオートメーション、VISIO5でVBA搭載です。

(^^)/~~~

03: 名前:まちゃ! 投稿日:2000/12/15(金) 09:03
管理人さんへ。

実は動きます。それも、お試し版みたいな物で! (^o^)
正確には、「他のソフトのVBAからVisioを制御することができる」です。
Helpに初歩的なサンプルが載っていたので、もしや?と思い使ってみるとイケました。
多分本家VBでも制御できると思います。予想ですが。

オブジェクトのテキスト一覧&座標とりができればいい程度なので、
LHA圧縮されている「置換ツール」を参考にしてみました。
「テキストをCSVに」はVisioのバージョンが新しすぎて(!)
当方では読み込めませんでした。

書籍がないので、(プログラム中での)オブジェクト・プロパティ・メソッドの記述が全く分かりません。
Visio2000のでも何とかなるかな? と思っています。 ←甘いかな?

よろしくお願いします。

04: 名前:ディジェSE-R 投稿日:2000/12/15(金) 11:31
えっと、横やりですみません。
VISIO5の場合はどのようにするのでしょうか?
シェイプを入れ子して位置合わせを行いたいのですが、
うまくいかないのです。
各シェイプ、できればシェイプの中のシェイプ等の
絶対座標を知る方法はあるのでしょうか?

05: 名前:まちゃ! 投稿日:2000/12/18(月) 11:42
どうも。

回答がなかなかつかないので、バージョンの限定をやめます。
Visio5,2000など、どれでも構いません。

よろしくお願いします。

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



604: 右クリックのショートカットメニュー作成方法  全レス

01: 名前:ぷりん 投稿日:2000/12/08(金) 14:05
初めて質問します。よろしくお願いします。

使用環境はvisio2000でwindows98です。

以下のことをVBを使用し、実行したいのですが、ソリューションガイドを読んでも、
開発者用ヘルプを探しても、どうしても出来ません。

・白紙の図面での右クリックメニュー追加
(pageオブジェクトにアクションセクションを追加したいのに出来ません)
・ページタブの右クリックメニュー追加
・ステンシルウィンドウ内でのシェイプ右クリックメニュー追加
・ステンシルウィンドウ内でのシェイプ以外の黄緑の所右クリックメニュー追加

どなたかご存知の方がいらっしゃいましたら、教えてください。<(_ _)>
よろしくお願いします。

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



605: shapeのデータ  全レス

01: 名前:Licca 投稿日:2000/12/05(火) 17:16
こんばんは、
Visioファイルのshapeデータを取得したいのですが、
ファイルを開かない状態ではやっぱり無理ですよね?
無理なら、せめて非表示の状態で開けるように出来ないでしょうか?

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



606: MSVCRT.DLLアドレス違反で異常終了  全レス

01: 名前:斎藤 投稿日:2000/11/30(木) 10:30
はじめまして、斎藤と申します。よろしくお願いします。
WINDOWS98上にVISIO2000PROをインストールしました。
起動はするのですが、その後何の動作を行ってもMSVCRT.DLLアドレス違反との
メッセージが出力されてしまい強制終了させられてしまいます。
このような現象に対する対応策をご存知でしたらご教授ください。
よろしくお願いいたします。

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



607: シェイプで囲まれた中にある別のシェイプを知る方法  全レス

01: 名前:みけ投稿日:2000/11/21(火) 14:05
VC++でVisoアプリを作っている者です。
四角いシェイプ内にある別のシェイプオブジェクト(単数もしくは複数)
を取得する方法をご存知でしょうか?
すいませんが教えていただけると嬉しいです。

02: 名前:ディジェSE-R 投稿日:2000/11/24(金) 16:59
ども。ディジェSE-Rと申します。

これはグループ化されていると考えてよろしいですか?
で、あれば以下のように参照が行えると思います。

[四角いシェイプ].shapes.item([中にあるシェイプオブジェクト])

ex:シェイプ「REC」の中に名前「Circle」というオブジェクトがある場合に
Shape_Circleにそれぞれを参照。RECにはすでに参照を取得済みとする。

Shape_Name = REC.shape.item("Circle")

03: 名前:みけ 投稿日:2000/11/27(月) 12:30
お返事ありがとうございました。
言葉足らずですいませんでした。
グループの中のシェイプではなくて、まったく別のシェイプです。
あれから調べた結果、Bound〜を使って、座標を取得する方法がわかりました。

04: 名前:名無しさん投稿日:2000/11/28(火) 18:43
もう遅いかもしれないけど、座標計算で内外判断するよりHitTest関数を使ったほうがシンプルだと思います

05: 名前:Camino 投稿日:2000/11/29(水) 21:19
SpatialRelationを使うという手もありますな。

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



608: Visio2000をsetupするとVB6ラインタイムもsetupされる?  全レス

01: 名前:tomo 投稿日:2000/11/21(火) 13:18
OSをインストールして、Visio2000だけしかインストールしていないPC環境において、
Visual Basic アプリ(EXE)をコピーして実行すると正常にアプリケーションが起動
されました。VB6のランタイムが無いと実行できないと思っていたのですが・・・
Visio2000 のアドオンか何かでVB6で作成されたものがあるのでしょうか?

02: 名前:あきふさ 投稿日:2000/11/21(火) 20:02
これは誰かから聞いたことなので確実ではありませんが・・・・
Visio自体がVisualBasicで作成されていると聞いています。
試しにVisioのディレクトリをファイル検索してみると
それらしいランタイムがインストールされてるみたいです。

03: 名前:Licca 投稿日:2000/11/22(水) 08:59
サンプルのVBコードが動くように付いているのでは?

VBで作られている?だから遅くて重いのか・・・?

04: 名前:名無しさん投稿日:2000/11/29(水) 14:26
VISIOはVC++で作られているようです(ダンプで解析)
VBが動作するのはVBサンプルとDVSの一部の動作に必要な為です。

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



609: VSLでのイベント処理  全レス

01: 名前:Licca 投稿日:2000/11/15(水) 15:55
どなたかVSLでVisioのイベントを取得する方法とそれによって処理を実行する方法を教えてください。

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



610: ユーザーフォームに線を引きたい  全レス

01: 名前:rumi投稿日:2000/11/10(金) 16:24
はじめまして
VISIO2000をWinNTで使っています。
ユーザーフォーム上に線を引きたいのですが
初心者の私にはやり方がよくわかりません。
誰かご存知の方いらっしゃいましたら
教えていただけないでしょうか?

02: 名前:あきふさ 投稿日:2000/11/14(火) 09:40
ユーザーフォームとは,いわゆる「図面」ウィンドウのことでしょうか?
線の引き方は

@アイコン(ボタン)の中から右上の線のボタン(しばらくマウスポインタを合わせていると「直線ツール」と表示されます)
 を選択。
A図面ウィンドウの中で右クリック(始点)→そのままドラッグ→右クリック中止(終点)で線はひけます。

何事にも人に聞く前に,マニュアルを見ることをお勧めします。

03: 名前:rumi 投稿日:2000/11/14(火) 17:24
すいません。私の説明が下手でした。
私がいっていたユーザーフォームというのは、「VBエディタ」の「フォーム」から
追加(挿入)してつくるフォームのことです。

04: 名前:rumi 投稿日:2000/11/14(火) 17:25
API関数を使ってい線を引くことにしました。
あさふささんありがとうございました。

05: 名前:あきふさ 投稿日:2000/11/14(火) 18:28
ああ,その「フォーム」だったんですね。私も理解不足でした。

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


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