KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

451 :VBAでbinファイルを読めるようにしたい(01)  452 :VBAソースとシート上のデータを分けたい(04)  453 :グループ化されたシェイプのメンバシェイプ削除禁止について(03)  454 :カスタムツールバーの追加(01)  455 :接続情報の取得(03)  456 :AlertResponseについて(01)  457 :VBデザイナ画面で出てくるツールバーを消したい(04)  458 :ページ数の表示方法(05)  459 :シェイプシート(04)  460 :文字の行番号について(07)  461 :VBstrの使い方教えて (04)  462 :クリップボードの操作(01)  463 :ForeignObjectについて(02)  464 :アクティブウィンドウの制御(01)  465 :マクロについて(01)  466 :コントロールOptionButtonのon/off、グループ化について(01)  467 :グループ化されたシェイプの背景色を変更する方法(05)  468 :グループのピン座標(08)  469 :VisioのWindowtitileについて(02)  470 :図形の合成について(05)  471 :座標、原点を取得するには(07)  472 :文字の位置について(03)  473 :CADのzukei (01)  474 :シェイプ中央に接続されたコネクタの取得(01)  475 :グループ化されたオブジェクトから接続先を取得する方法(02)  476 :子シェイプから親のグループシェイプオブジェクトを取得する方法(04)  477 :ショートカットメニューhe追加するには?(01)  478 :ポリラインの座標値(11)  479 :geometry数分のデータを取得したいのですが・・(03)  480 :VBAで表に行を追加するには?(03)  481 :範囲選択された文字を取得するには?(01)  482 :ローカル座標系の点の変換 (07)  483 :VISIO図面の中の図形やテキストの文字や座標を取得するには?(15)  484 :カスタムプロパティの値をAccessのテーブルにセットするには?(03)  485 :VBAで図形のテキストを設定(02)  486 :グループ図形内の子供シェイプの選択 (04)  487 :document名の英文字(01)  488 :VBAからのアクション設定(03)  489 :Visio/VB間のアクティブウィンドウの制御??(01)  490 :RUNADDONが95では効かない!?(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 次のページ  総てのスレッド  スレッド総数 696451 - 460 を表示


451: VBAでbinファイルを読めるようにしたい  全レス

01: 名前:ん−わがんね!!投稿日:2002/11/16(土) 23:16
binファイルのデータを読みたいのですが誰かわかりませんか?文字で読み込んでASC文で変えるとそれらしいデータが
読めるんですが、全角文字のデータは変な数字になるんです。全角も半角も2バイトで書かれているみたいなんですが
半角の2バイトの時はASCでうまく 0〜255までの数字になって全角の時はエラーになります。数字を見ると-32456
みたくマイナス表示になるんです。
BINファイルから0〜255までの数字がほしいです。

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



452: VBAソースとシート上のデータを分けたい  全レス

01: 名前:vivi投稿日:2002/11/07(木) 18:57
visioのVBAソースのバージョンアップを行う事がある為、シート上に乗ってるデータ(シェイプ等)と
VBAのソースを分けたいのですが、(エクセルのxlaのようなイメージ)
何か方法を知っている方がいましたら教えて下さい。

02: 名前:yoda投稿日:2002/11/10(日) 01:20
viviさんの事情と少し違うかも知れませんが、
VBAをステンシルに置くとかなりらくになります。

03: 名前:なか投稿日:2002/11/11(月) 11:53
VBAの変わりにVB、またはVCでアドオンを作成すればプログラムと
データを完全に分けることは可能です。

04: 名前:vivi投稿日:2002/11/15(金) 18:03
VBでアドオンを作成する場合、画面を表示してそこに入力した値で図形を
書いたりすることは可能なのでしょうか?

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



453: グループ化されたシェイプのメンバシェイプ削除禁止について  全レス

01: 名前:CHERRY投稿日:2002/11/11(月) 10:44
グループ化されたシェイプ内のメンバシェイプを選択した場合、
選択したメンバシェイプのみを削除することが可能ですが、
『メンバシェイプの削除を禁止する』方法はないでしょうか。
ご存知の方がおられましたら、ご教示願います。

02: 名前:なか投稿日:2002/11/11(月) 12:06
質問の内容は「VBAを使って選択したメンバシェープの削除を禁止にしたい」
と言うことで良いのですかね
以下にサンプルコードを記述しておきます。

Dim winObj As Visio.Window
Dim selectObj As Visio.Selection
Dim shpObj As Visio.Shape
Dim cellObj As Visio.Cell

Set winObj = Aplication.GetActiveWindow
Set selectObj = winObj.Selection
selectObj.IterationMode = visSelModeSkipSuper
Set shpObj = selectObj.Item(1)
Set cellObj = shpObj.Cells("LockDelete")
cellObj.ResultInt(visNumber) = 1

03: 名前:CHERRY投稿日:2002/11/11(月) 12:57
なかさん
ご返答ありがとうございます。参考になりました。
どうもありがとうございました。

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



454: カスタムツールバーの追加  全レス

01: 名前:yasu投稿日:2002/10/24(木) 10:04
VBプログラムで作成したツールバー(VISIOのアプリケーション依存)をVISIO
の標準操作により登録をしたいのですが方法がわかりません。
プログラム中で作成したツールバーはユーザー設定の一覧に表示されるの
ですが、なぜcustom.vsuに登録されないのでしょうか…。(標準操作で作成
した時は登録されるのに、同等ではないのでしょうか??)
ご存じでしたら、お力をかしてください。
よろしくお願いします。

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



455: 接続情報の取得  全レス

01: 名前:Felix投稿日:2002/10/21(月) 17:37
 しばらく前から悪戦苦闘している問題がありまして。
 指定した動的コネクタにどのオブジェクト(シェイプ)が接続されているかをVBAで取得する方法はないでしょうか?

 例えば
tmpStr = visShapeObj.Cells("BegTrigger").ResultStr("")
 という方法では取得できないことは確認済みです。

02: 名前:なか投稿日:2002/10/22(火) 09:15
Connectオブジェクトを使えば取得可能です。
以下に方法は記載します。

Dim visConnectsSel As Visio.Connects
Dim visConnerObj As Visio.Connet

Set visConnectsSel = visShapeObj.Connects
Set visConnectObj = visConnectsItem(1)
Set visShapeObj = visConnectObj.ToSheet

以上で接続されているシェープを取得できます。
但し、Connectsセレクションはページ単位で情報を扱っているので、
同一ページ上に選択したコネクタ以外のものが存在する場合は
FromSheetプロパティを使用して選択したものと一致しているか確認
しないといけません。

03: 名前:Felix投稿日:2002/10/22(火) 15:51
 できました! ありがとうございました。m(_ _)m

 少し工夫して以下のようにしてみました。
 実際にはコマンドボタンを作成してコネクタを触って実行させると、ダイアログに情報を表示するようになってます。
 今後、同じ悩みを抱えることになる方の参考になれば。

Private Sub CmdBtn1_Click()
Dim DrawPageObj As Visio.Page
Dim visShapeObj As Visio.Shape
Dim visConnectsSel As Visio.Connects
Dim visConnectObj(2) As Visio.Connect
Dim msgStr As String
Dim I, nCnt As Integer


'アクティブなページを指定。もしレイヤを分けるならそれも指定する必要あり。
Set DrawPageObj = ActivePage

'図形を選択している数を取得
nSelect = Visio.ActiveWindow.Selection.Count

If nSelect > 1 Then '複数選択している場合は終了。
MsgBox ("複数の図形が選択されています。")
Exit Sub
End If
If nSelect = 0 Then '1つも選択していない場合も同様。
MsgBox ("図形が選択されていません。")
Exit Sub
End If

Set visConnectsSel = visShapeObj.Connects
nCnt = visConnectsSel.Count
For I = 1 To nCnt
Set visConnectObj(I) = visConnectsSel.Item(I)
Next I

msgStr = "接続しているのは "
For I = 1 To nCnt
Select Case I
Case nCnt
msgStr = msgStr + visConnectObj(I).ToSheet + " です。"
Case Else
msgStr = msgStr + visConnectObj(I).ToSheet + " と "
End Select
Next I
MsgBox (msgStr)

End sub

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



456: AlertResponseについて  全レス

01: 名前:ほし投稿日:2002/10/07(月) 15:12
AlertResponse()を使用してメッセージを表示させないようにする方法について
過去ログよりみつけ、実行してみました。
確かにファイルを閉じる時はOKですがファイルを開く時に
どうやっても消えないメッセージが出てきます。
内容は
”○○図形の更新”
- この図面内のMicrosoft Visio 2000 の○○図形をこのバージョンの
  Visioで正しく機能させるには、図形を更新する必要があります。
  更新した図形は、以前のバージョンの Visioでは正しく動作しなくなる可能性があります。
  図形を更新しますか? -
  はい   OR   いいえ

というものです。

どちらを選択しても再度ファイルを開く時にはまた同じメッセージが出てきます。

解決策をご存知のかた、お願いします。

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



457: VBデザイナ画面で出てくるツールバーを消したい  全レス

01: 名前:Visio 初心者投稿日:2002/09/18(水) 17:01
Win2000(SP2)
Visual Basic6(SP5)
Visio 2000
を使っています。
Visio2000をインストールしたら、VBのデザイナ画面にVisioの
ツールバー(Visio UML ソリューション)がアドオンされました
が、これを消す方法ってご存知ですか?
デザイナ画面の(表示>ツールバー)で消しても次回VBを起動
するとまたVisioのツールバーが出てきてしまいます。

02: 名前:Ei投稿日:2002/10/03(木) 16:20
そうです“アドオン(アドイン)”されたのです。
つまり[アドイン(A)]-[アドインマネージャ(A)]で起動時にロードされないようにすれば
OKです。

03: 名前:oki投稿日:2002/10/03(木) 19:43
Eiさんありがとうございます。
私もうざったくて、消したかったのです。

04: 名前:Visio 初心者投稿日:2002/10/07(月) 13:00
EIさんどうもありがとうございました。解決しました。

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



458: ページ数の表示方法  全レス

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初心者の私にも
簡単に設定ができました。

また、ご相談することがあるかも知れませんが
その時はまた宜しくお願い致します。

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



459: シェイプシート  全レス

01: 名前:ほし投稿日:2002/09/25(水) 09:07
気になることがあります。
このコーナーには関連がないかもしれませんがよろしくお願いします。

VISIOであるSHAPEを選択し、シェイプシートを表示させると
いろいろな値を見ることが出来ますが、この値には
”青色表示”と”黒色表示”があります。

この違いって、?何かあるのでしょうか?

こちらはWIN2000 VISIO6.0を使用しています。

02: 名前:あきふさ投稿日:2002/09/25(水) 16:41
Visio2000を使用しています。
厳密に確認したわけではありませんが,黒はそのシェイプのデフォルト値を表してる様に見えます。
これに対し,青色はデフォルト値から変更したものが青色で表示されるみたいです。

03: 名前:oki投稿日:2002/09/25(水) 23:10
そうですね。
Visioではファイルサイズを小さくする目的で、ステンシル等の基となるシェイプの情報を
可能である限り継承するそうです。
継承されたセルの文字は黒色です。
継承できないセルの文字は青色に変わります。
例えばシェイプを移動すると図形座標(PinXやPinY)が継承できなくなるので青色に変わ
ります。
その他、シェイプの操作で変更された情報は全て青色に変わります。

04: 名前:ほし投稿日:2002/09/30(月) 19:24
なるほど、そういうかんじですか・・・
ちょっと、疑問に思ったので書き込んでみたら、お返事いただけると思ってなかったので
うれしいです。

こちらでも、シェイプを作成し見てみました。
すると、そのような感じに受け取ることが出来ます。

ていねいに、どうもありがとうございました。

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



460: 文字の行番号について  全レス

01: 名前:ほし投稿日:2002/09/19(木) 17:39
MSNのライブラリホームページで見ました。
http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/visio/dvs_19_automating_connections_in_a_visio_solution317.htm [source] [check]
↑ながいです・・・

文字の書式は一つのテキストBOX内であっても個々に設定できるようです。
このとき文字の書式の行番号がn行に示された書式で設定されるということで
この行番号、つまり文字のフォントとかサイズとかが有効な文字数(バイト数)を
取得したいのですがうまくいきません。
RowName()とか使っていますがどうも失敗しているようで・・・

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

02: 名前:なか投稿日:2002/09/20(金) 13:49
私が調べたところによると、
文字数(バイト数)を取得はできないような気がします。
とりあえず、RowName()では絶対に取得できません。
(文字の書式セクションの行にはNameを使用していないので)
もしかすると取得する方法があるかもしれませんが
とりあえず御一報まで

03: 名前:ほし投稿日:2002/09/20(金) 14:41
ありがとうございます。
おっしゃる通り取得できません。

こちらでも調べました結果、何とか取得?はできるようです。
http://www.visio.jp/bbs/bbsView.asp?Mode=Thread&selectID=127 [source] [check]
参考にさせてもらいました。
(かってにURL書き込んだけど、かまわなかったんだろうか・・)
maister_okiさんとはここでのokiさんと同じ方?なのかな?

ともあれ、書かれていた方法ですと手間ですが、情報を取得できました。

04: 名前:なか投稿日:2002/09/20(金) 18:06
確認しました。
確かに取得はできますけど正気の沙汰とは思えないですね
Visioも内部的に同じ処理をしてバイト数を表示しているんですかね?
ん〜納得できない

05: 名前:oki投稿日:2002/09/20(金) 20:15
私も苦労してこの方法に辿り着きましたが、もっと簡単な方法があれば知りたいです。
Visioも内部的に同じ処理をしているとは、私も納得できません。

oki=Meister_oki です。
Visio.jpは「おたすけマン」が少ないので、たまにいらしたら書き込んでやってください...

06: 名前:ほし投稿日:2002/09/24(火) 13:22
やはりokiさんだったのですね。
いつもお世話になってます。

Visio.jpはこの問題に直面して初めてお邪魔させていただきましたが
ズラッとみてokiさんの回答が群を抜いて多いですね。

回答できることはまだまだ少ないですが
ちょくちょくみさせていただきます。

07: 名前:oki投稿日:2002/09/24(火) 19:11
ほしさんありがとうございます。1人では限界がありますので...
なかさんもいらしてくれたみたいで、本当にありがとうございます。

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


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