KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

491 :Visio2002よりvisio5.0形式で保存(05)  492 :ステータスバー (04)  493 :VBからのページサイズ設定について(03)  494 :VBからコネクタ線を制御する方法ありますか?(01)  495 :シェイプ回転後の幅と高さを取得したい(04)  496 :VBAで図形の回転を行いたい(03)  497 :Exportメソッドの設定の変更方法?(01)  498 :SetResults メソッド の使い方(03)  499 :VBからShapeをダブルクリックした時のイベントの制御(05)  500 :VBAでdxfを読み込む方法は?(01)  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) 
ログ検索  リロード  前のページ  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 次のページ  総てのスレッド  スレッド総数 696491 - 500 を表示


491: Visio2002よりvisio5.0形式で保存  全レス

01: 名前:sato投稿日:2002/06/24(月) 10:34
はじめまして。Visio2000をWin2000で使っています。
質問なのですが、
Visio2002でVisio5形式の図面・ステンシル・テンプレートへの
変換保存は可能なのでしょうか?
例えばHTML形式などはExportメソッドで
変換可能だとわかったのですが、
図面などはVisio2002の標準形式とVisio5形式のいずれも、
拡張子が同じのため区別ができません。

ご存知の方がいらしたら、教えてください。
よろしくお願いします。

02: 名前:名無しさん投稿日:2002/06/24(月) 16:18
>Visio2002でVisio5形式の図面・ステンシル・テンプレートへの
>変換保存は可能なのでしょうか?
できますよ。
ただし半透明のようにVISIO2002固有の情報はなくなっちゃいます。

03: 名前:sato投稿日:2002/06/27(木) 16:23
ご返信ありがとうございます。

あと、申し訳ないのですが
具体的にどのように指定すれば変換可能なのか
教えていただけないでしょうか?
お願いいたします。

04: 名前:あきふさ投稿日:2002/06/27(木) 16:42
メニューより「ファイル名をつけて保存」のダイアログの中で
「ファイルの種類」を「Visio 5 図面/ステンシル/テンプレート」
のいずれか指定すればできますよ。

05: 名前:sato投稿日:2002/07/01(月) 10:48
私の説明不足で申し訳ありません。
VBAでVisio2002からVisio5形式の図面・ステンシル・テンプレートへの
変換保存をお教え頂ければと思います。

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



492: ステータスバー  全レス

01: 名前:shim 投稿日:2000/09/07(木) 09:45
画面下部のステータスバーにテキストを配置したいのですが
いまいちStatusBarオブジェクトやプロパティの用法が解りません

どなたか簡単なコードを書いて教えていただけないでしょうか?

02: 名前:管理人投稿日:2000/09/08(金) 02:09
http://visio-square.virtualave.net/cgi-bin/faqbbs/hilight.cgi?page_num=60&dir=./log#962780697 [source] [check]
↑のスレッドを参照してみてください。

03: 名前:shim投稿日:2000/09/08(金) 11:59
過去ログ在りましたか、
重複質問申し訳ないです。

ありがとうございます。

04: 名前:JOE投稿日:2002/06/27(木) 10:18
申し訳ないです。管理人さんのレスのURLをクリックしても関係なさそうな外国のページが開くだけです。本当はどこにあるのでしょうか?

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



493: VBからのページサイズ設定について  全レス

01: 名前:odyssey投稿日:2001/09/19(水) 19:48
VBからVisio図面を描画し、最後にページ設定で「図面の内容に合わせる」
に設定しようとしていますが、うまくいきません。
設定しているソースは以下のとおりです。
ご存知の方がいらっしゃいましたら、ご教授願います。

pagObj.PageSheet.Cells("DrawingSizeType").Formula = 1

※「ファイル」メニューからページ設定を開くと、「図面の内容に合わせる」に
設定されてはいますが、見た目は図面の内容に合ってません。
またShapeSheet上も、値は設定されています。

Windows98 SE、Visio2000 Professional Editionにて開発しており
SR-1は当てていません。
よろしくお願い致します。

02: 名前:JOE投稿日:2002/06/18(火) 20:12
お望みなのは、すべてのシェイプを包括する必要最小限のページサイズの設定でしょうか?近いことでしたら、以下のコードを試してください。
「近い」と申しますのは、ファイル(F) - ページ設定(U) - … によるものですと、以下のコードとは違い、選択ハンドルもテキストも包括できると言う意味です。この違いは、三角形などのようなシェイプの外側に選択ハンドルが飛び出ているシェイプを回転させたり、シェイプを突き抜けるくらいに文字を入力すると、はっきりします。
この差異を解決する方法が見つかりましたら、レスポンスしてください。


Dim w, h, lw As Double



Visio.Application.DoCmd (visCmdUFEditSelectAll) '編集/すべてを選択
Visio.Application.DoCmd (visCmdObjectGroup) '図形/グループ操作/グループ化

With ActivePage.Shapes(1)
w = .Cells("Width")
h = .Cells("Height")
lw = .Cells("LineWeight")
End With
With ActivePage.PageSheet
.Cells("PageWidth") = w + 2 * lw
.Cells("PageHeight") = h + 2 * lw
End With

Visio.Application.DoCmd (visCmdCenterDrawing) 'ツール/図面をページ中央へ
Visio.Application.DoCmd (visCmdUFEditSelectAll) '編集/すべてを選択
Visio.Application.DoCmd (visCmdObjectUngroup) '図形/グループ操作/グループ解除
Visio.Application.DoCmd (visCmdViewFitInWindow) '表示/ページ全体を表示

03: 名前:JOE投稿日:2002/06/26(水) 11:21
すこし改良しました。#1の行でテキストも含む外接長方形を求めるようにしました。
BoundingBox のヘルプにもあるように、コントロール ポイントや接続ポイントの位置は、図形のセルに問い合わせるしかないようです。


Sub サブルーチン名()
Dim w As Double, h As Double, lw As Double
Dim t As Double, b As Double, l As Double, r As Double


With Visio.Application
.DoCmd (visCmdUFEditSelectAll) '編集/すべてを選択
.DoCmd (visCmdObjectGroup) '図形/グループ操作/グループ化

With ActivePage.Shapes(1)
lw = .Cells("LineWeight")
.BoundingBox 0 + visBBoxUprightWH + visBBoxUprightText + visBBoxExtents, l, b, r, t '#1
.Cells("PinX") = .Cells("PinX") - (l - lw)
.Cells("PinY") = .Cells("PinY") - (b - lw)
End With
With ActivePage.PageSheet
.Cells("PageWidth") = (r - l) + 2 * lw
.Cells("PageHeight") = (t - b) + 2 * lw
End With

.DoCmd (visCmdUFEditSelectAll) '編集/すべてを選択
.DoCmd (visCmdObjectUngroup) '図形/グループ操作/グループ解除
.DoCmd (visCmdDeselectAll) '(全ての図形選択を解除)(#2)
.DoCmd (visCmdViewFitInWindow) '表示/ページ全体を表示
End With

Visio.ActiveWindow.DeselectAll '(わたしの環境に限ってか、上の#2がうまく行かなかったので付け焼刃的に追加。(なぜでしょう?))
End Sub

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



494: VBからコネクタ線を制御する方法ありますか?  全レス

01: 名前:こうすけ投稿日:2002/06/25(火) 09:22
はじめまして。
VBとVisioを利用し、フローチャートを自動作成するプログラムを作成しています。
上の人から、「フローチャートの横のコネクタ線の間隔が近いもの(重なって見えるような線)は一本の線にしてほしい」と要望がありました。
コネクタ線のプロパティ・経路の設定など変更してみましたがどうもうまくいきません。
そこで、VBで制御する予定ですがどうやればよいか悩んでいます。
どなたかご教授いただけないでしょうか?
VBは6.0SP5で、Visioは2000SP1です。
(個人的にはフローチャートの性格上線を重ねてしまうのは本末転倒だと思うのですが・・・)

よろしくお願いします

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



495: シェイプ回転後の幅と高さを取得したい  全レス

01: 名前:chatran投稿日:2002/06/20(木) 18:55
VB6からVisio2000を操作しています。
シェイプを90度回転後、シェイプの幅を取得しようとしても
回転前の幅のまま変わりません。
実際見た目のシェイプの幅を取得する方法はないものでしょうか。
よろしくお願い致します。

02: 名前:oki投稿日:2002/06/21(金) 19:18
[BoundingBox]メソッドを使うと取れそうです。
例えば、
ShapeObj.BoundingBox visBBoxUprightWH, Left, Bottom, Right, Top
としたら、たぶん幅は
Right-Left
で取れるのでは?
フラグの[visBBoxUprightWH]定数は、よく調べていませんのでヘルプを
ご参照ください。

03: 名前:oki投稿日:2002/06/21(金) 19:20
[BoundingBox]メソッドを使うと取れそうです。
例えば、

ShapeObj.BoundingBox visBBoxUprightWH, Left, Bottom, Right, Top

としたら、たぶん幅は

Right-Left

で取れるのでは?

フラグの[visBBoxUprightWH]定数は、よく調べていませんのでヘルプを
ご参照ください。

04: 名前:oki投稿日:2002/06/21(金) 19:23
すいません。同じレスが2ついっちゃいました...

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



496: VBAで図形の回転を行いたい  全レス

01: 名前:taka投稿日:2002/06/19(水) 16:53
Visio Standard 5.0 を使用していますが、
VBAで回転させたい図形のシェイプシートの"Angle"セルに
角度(度)を代入しても、正しい回転角度が得られません。
代入:90 → 結果:116.62
VBAでは、異なる単位系になるのでしょうか?

また、別件になりますが、
VBAでページの並び替えを行うことは可能でしょうか?

ご存知の方がいらしたら、ぜひ教えて頂きたいのです。
よろしくお願いします。

02: 名前:あきふさ投稿日:2002/06/19(水) 17:18
・角度について
Visio2002で確認したのですが,シェイプシートに直接数値を入力すると
単位はdegになるみたいですが,他セル参照を含む数式を入力すると
単位はradになるみたいですね。
数式の数値に単位をdegを含んで計算してみてはいかがでしょう?

03: 名前:taka投稿日:2002/06/20(木) 08:58
VBAで"Angle"セルに値を代入すると、ラジアンになるんですね。

それで、代入:90(rad) → 結果:5156.62(deg)=360*14+116.62
となり、116.62(deg)の回転になっているとわかりました。

どうもありがとうございました。

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



497: Exportメソッドの設定の変更方法?  全レス

01: 名前:しぶのり投稿日:2002/06/06(木) 18:30
こんにちは。Visio2002Pro@Windows2000を使っています。
VBAを使ってVisioで書いた図面をBMPで保存したいのです。
Exportメソッドで保存はできたのですが,サイズなどの設定
(「名前を付けて保存」で出てくる「BMP出力オプション」の値)
をVBAで変更することはできないでしょうか?

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



498: SetResults メソッド の使い方  全レス

01: 名前:salt投稿日:2002/05/31(金) 10:42
Masterオブジェクトのカスタムプロパティへ値を入力したいのですが、
ShapeオブジェクトのようにCellsプロパティがありません。
ヘルプで調べたんたらSetResults メソッドというものがあるのは分かったのですが、
使い方がいまいちわかりません。
ご教授お願いします。
バージョンはVISIO2000です。

02: 名前:oki投稿日:2002/05/31(金) 13:06
Masterオブジェクトには、直接カスタムプロパティは設定できません。
Master.Shapes(n)で、シェイプオブジェクトを取得して、シェイプに対してカスタム
プロパティを設定します。

03: 名前:salt投稿日:2002/05/31(金) 14:38
おかげさまでうまくいきました。
ありがとうございました。

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



499: VBからShapeをダブルクリックした時のイベントの制御  全レス

01: 名前:Rie投稿日:2002/05/31(金) 01:48
初心者なのですが・・・
VBからVisioの操作をしたいのですが、SHAPEをダブルクリックした時のイベントから
プロシージャを呼び出すにはどのような方法があるのでしょうか?

どなたか教えていただけたら幸いです。
よろしくお願いします。

02: 名前:投稿日:2002/05/31(金) 08:25
シェイプシートの[イベント]セクションに[EventDblClick]というセルがあります。
ここにCALLTHIS関数を記述すると、ダブルクリックでプロシージャが呼べるようになります。
CALLTHIS関数の仕様は以下のとおりです。
 CALLTHIS("procedure",["project"],[arg1,arg2,_])
  procedure・・・プロシージャ名
  project・・・プロジェクト名(VBEで設定できます)
  arg・・・任意のパラメータ(複数可)
また、VBAの方は、プロシージャの第一引数が呼び出したシェイプになっていなければなりません。
任意のパラメータが無い場合、以下のようになります。
 Public Sub ProcSample(ByVal shape as Visio.Shape)

03: 名前:Rie投稿日:2002/05/31(金) 09:14
ご返信ありがとうございます。

CALLTHIS関数を使ってみたものの、実はまだまだわかってない部分がありまして・・・申し訳ないです。
CALLTHIS関数内のprocedureにはどのように入力するとうまくいくのでしょうか?
たとえば,VBのProject1のForm1に、

Sub A()
MsgBox ("Click Ok")
End Sub

というプロシージャがあったとして、VisioのあるShapeをダブルクリックしたら
MsgBoxが表示されるというにはどのように入力したらよいのでしょうか?

よろしくおねがいします。

04: 名前:Rie投稿日:2002/05/31(金) 10:21
ごめんなさい、わかりました。
callthis関数はVBAプロジェクトのプロシージャしか呼べないんですね。

05: 名前:oki投稿日:2002/05/31(金) 13:03
[EventDblClick]に、RUNADDON または RUNADDONWARGS関数を適用します。
例) RUNADDON("Test.exe")

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



500: VBAでdxfを読み込む方法は?  全レス

01: 名前:Mae投稿日:2002/05/30(木) 21:51

Maeです。大変困っています。

VBAにてdxfファイルを読み込む方法を教えて下さい。

Importメソッドを使用するとエラーとなります。
InsertFromFileメソッドを使用すると、アイコンとなってしまい、図面が表示されません。

宜しくお願いいたします。

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


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