KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

681 :VBのフォームにステンシルのシェイプを表示できる? (03)  682 :VBAのWindow表示について (02)  683 :VC++から作図したい (04)  684 :ユーザーインターフェースのカスタマイズ (06)  685 :VBのコントロールのライセンス (03)  686 :VisioWindowでのフォームの表示について (07)  687 :テンプレートとファイル (03)  688 :VSL の配布ってどうするんですか? (03)  689 :ユーザーインターフェースについて (08)  690 :図形と図形の接続について (07)  691 :ステンシルのプロシージャを呼び出す方法 (03)  692 :connectsコレクションのオブジェクト数 (04)  693 :[リンクを破棄します]ダイアログを出さない方法 (04)  694 :あらかじめ決めてある画像を取込むには (03)  695 :Deleteイベントで別シェイプを削除 (04)  696 :「オートメーション」を作成しました。(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 次のページ  総てのスレッド  スレッド総数 696681 - 690 を表示


681: VBのフォームにステンシルのシェイプを表示できる?  全レス

01: 名前:simizu 投稿日:2000/05/17(水) 18:40
はじめまして。
私はVBで自動的にVisioネットワーク図を作成するプログラムと現在戦っております。
そこで行き詰まってしまっているのですが、VBのフォーム上にイメージとして
マスタシェイプを表示させることは可能でしょうか?

現在はマスタシェイプを一つ一つjpgファイルにして、それを読み込んでいます。

02: 名前:管理人投稿日:2000/05/18(木) 14:32
>現在はマスタシェイプを一つ一つjpgファイルにして、それを読み込んでいます。
一番まともな解決策だと思います。

それ以外では動作は遅いですが、フォームの中にVisioをクライアントとして組み込んでしまう手があります。
表示専用だけだったら安定しています(-_-;)

03: 名前:simizu 投稿日:2000/05/31(水) 14:48
お返事が遅くなってしまい申し訳ありません。現在のままでがんばろうと思います。

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



682: VBAのWindow表示について  全レス

01: 名前:Licca投稿日:2000/05/30(火) 17:30
こんにちは、
VBAでロードしたフォームはキャンセルしない限り非アクティブな状態にならないのでしょうか?
リアルタイムにVisio操作を反映した計算などの表示をさせたい場合、VBなど外部フォームを呼び出すしかないのでしょうか?

02: 名前:かど 投稿日:2000/05/31(水) 08:50
かどです。

>VBAでロードしたフォームはキャンセルしない限り非アクティブな状態にならないのでしょうか?

Visio2000からモードレスダイアログが可能になりました。
こいつで何とかなりませんか?

Visio5.0の場合は、WinAPI を使用してモードレスダイアログを表示する方法が
あるみたいですね。
通常の Showメソッドでは使えませんでした。

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



683: VC++から作図したい  全レス

01: 名前:さとう 投稿日:2000/05/25(木) 13:09
現在、Microsoft VC++のプログラムからVisioの作図を
行おうと、サンプルプログラムを真似てやってみたところ
以下の現象が起きました。

〜〜〜以下ソースコード〜〜〜
CVisioApplication app;

if(VAO_SUCCESS != vaoGetObjectWrap(app)){
//error handling
cout << "Unable to run Visio!!" << endl;
}
〜〜〜以上ソースコード〜〜〜
現象:vaoGetObjectWrap(app)の戻り値が「6」を
示しており、error handling処理に進んでしまう。

質問:何故、戻り値が「6」になってしまうのでしょうか?

また、原因を探るため、Visioヘルプやマニュアルを見たの
ですが(熟読とまではいきませんが)、明解な答えを見つける
ことができませんでした。
プログラム開発者向けの良い本などありましたら、教えて下さい。

以上です。

02: 名前:さとう 投稿日:2000/05/25(木) 13:11
すみません。先ほど環境を記述するのを忘れてしまいました。
環境:Visio Professional 5.0 & Visual C++ 6.0
です。
よろしくお願いします。

03: 名前:管理人投稿日:2000/05/29(月) 11:46
私はVCでプログラムした経験が浅いので・・・
でも誰かが、VCの戻り値に関して書き込んでいたような気がします(過去ログ漁って下さい)
プログラム開発者向けの本はAMAZON.COMで検索すると見つかります。
(日本語では販売されていないと思います)
翻訳したら売れるかもしれませんね(^_^)

04: 名前:さとう 投稿日:2000/05/30(火) 16:00
ありがとうございます。
参考にさせていただきます。

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



684: ユーザーインターフェースのカスタマイズ  全レス

01: 名前:Licca 投稿日:2000/05/24(水) 16:44
こんにちは!
マクロの実行方法に関する質問なのですが、
ステンシルにあるマクロをツールボタンからクリックして実行させるようにするにはどうしたら良いのでしょうか?

02: 名前:管理人投稿日:2000/05/29(月) 11:34
VBAからVBAだとプロジェクトが異なるので無理なような気がします。
VBからVBAだと・・・どうなるんでしょう
私の場合、ステンシルのマクロはシェイプドロップで動かしているので分からないです・・・
暇を見て勉強してみます。

03: 名前:Licca 投稿日:2000/05/29(月) 12:36
ありがとうございました。(_ _)

さすが管理人さんですね。
たまっていた質問にみんなレスがついている・・・

04: 名前:こうち投稿日:2000/05/29(月) 18:23
>ステンシルにあるマクロをツールボタンからクリックして実行させるようにするにはどうしたら良いのでしょうか?

私もいろいろとやってみて,何とかできるようになって今も使っています。
でも,どういう設定したかを忘れてしまいました(^_^;)。
Visio.ToolbarItemの
.ActionText
.AddOnName
.CntrlType
.Priority
.IconFileName
をいろいろ設定したんです。こんど設定を読み出してみます。
ただし,当然のことですがステンシルが既に開かれていることが前提です。
開かれていない場合はエラーになります。

05: 名前:Licca 投稿日:2000/05/30(火) 08:53
私ももう少し勉強してみます。

06: 名前:こうち投稿日:2000/05/30(火) 09:27
私の場合は Visio.Applicationのカスタムツールバーですが
AddOnNameを「Documents(ステンシルのファイル名).マクロ名」で設定していました。
(私のプロパティをそのまま引用すると「Documents("さくら3.vss").テキスト連続入力」です)

ステンシルのファイル名を直接使っているのは,このステンシルより先に開いていたファイルを閉じると
INDEX番号が変わってしまったからです。

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



685: VBのコントロールのライセンス  全レス

01: 名前:こうち 投稿日:2000/05/19(金) 09:22
VB5.0,VB6.0 に付属しているコントロールを
VBA に使って配布してもいいのでしょうか?。

Visio5.0 に付属しているサンプルには
CommonDialog を使っているのがあるので
OKなんですかね?。

当然,VBの正規ライセンスを持っているとしてですが。

02: 名前:管理人投稿日:2000/05/19(金) 13:22
確かVBのヘルプに再配布可能なコントロールと、使用ライセンスだけのコントロールの
一覧が入っているはずです。
VBAだからといって再配布できないって事は無いとは思いますが、レジストリ登録しなきゃ
動かないコントロールもあるので御注意ください。

03: 名前:こうち投稿日:2000/05/19(金) 15:59
>確かVBのヘルプに再配布可能なコントロールと、使用ライセンスだけのコントロールの
>一覧が入っているはずです。
「...Redist.txtファイルで記載されている部分のオブジェクトコードバージョンを複製して
頒布する非独占的かつ無償の権利を許諾します。」ですね。

これでいくと CommonDialog はいいということですね。

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



686: VisioWindowでのフォームの表示について  全レス

01: 名前:Licca 投稿日:2000/05/16(火) 17:26
こんにちは。
VBでカスタムプロパティのデータをラベルから選択して表示するマクロを作ったのですが、
VisioWindowでの表示がうまく行きません。
ソースをアップロードしますのでどなたか見ていただけますようお願いします。(_ _)
元は思いっきり"C:\Program Files\Visio\DVS\VB Solutions\Custom Window"です

02: 名前:Licca 投稿日:2000/05/16(火) 17:33
補足ですが・・・
コード自体が変なので時々エラーになります。

03: 名前:管理人投稿日:2000/05/16(火) 18:05
>VisioWindowでの表示がうまく行きません。
うまく・・・どういう症状でしょうか?
画面イメージをアップしてくれると分かり易いような気が・・・
ちなみにVB6で実行ファイルを作って適当なシェイプで試しましたが動いているようです。
イメージボードに私の環境での実行結果をアップしていますのでご覧下さい。

04: 名前:こうち投稿日:2000/05/16(火) 20:08
>ちなみにVB6で実行ファイルを作って適当なシェイプで試しましたが動いているようです。

私は VB5-SP3で試してみたところ,プロジェクトの読込でまずエラーになります。
「不正なキー Retained を含んでいる。このままロードを続けるか?」等。
ロードを続けてプロジェクトがrunできるようになるまでに相当かかりました(疲れた)。

プロジェクトをrunして,マクロを起動すると何故かウインドウが2つ開きます。
そのウインドウの中も表示されるフォームの位置がおかしい。
ウインドウを1つ閉じて,残りのウインドウを開いたりたたんだりすると
ウインドウの枠の部分だけが何重にも表示されます。????。
キャプチャをアップしておきます。Liccaさんも同じ症状でしょうか?。

ひょっとして VB5ではだめなのかな。

しかし,こんな事ができるとは Visio2000 あなどりがたいやつ。

05: 名前:Licca投稿日:2000/05/17(水) 09:31
すいません。画面のアップロードができませんでした。
ペイントしか画像処理ソフト(?)が手元にないんです。(TT)
実行結果はうまく行くときと行かないときがありますが再現性が不明です。
ちなみにVB6.0で作成しました。
こうちさんのように崩れたこともありましたが、今はフォームの一部しか表示されず、エラーの出てしまう状態です。

毎度のことですが・・・分かりにくい説明でごめんなさい。

06: 名前:管理人投稿日:2000/05/17(水) 14:46
私のコンパイルしたwin.exeをアップしました。
Win32API.basをDVSから持ってきた以外はソースに改竄を施さない状態でコンパイルしています。
VB6.0(SP無し)、NT4.0SP5+IE5、Visio2000の環境です。

07: 名前:管理人投稿日:2000/05/18(木) 18:21
崩れたVisioWindowを一度マウスで大きさを変えてあげると二度と崩れる事は無いようです。
appVisio.ActiveWindow.Windows.Add(, visWSVisible, , , , 320)ですが、
VBFormのScaleModeが1(Twip)になっています。3(ピクセル)ではないかと・・・

で、エラーが出たり出なかったり・・・ヘビーな試験をしていないので私のところじゃ出ませんねぇ。
引き続き調べてみます。

>しかし,こんな事ができるとは Visio2000 あなどりがたいやつ。
「どうやってるんだろう?」と漠然と思っていたんですが、Licca さんのお陰で一つ利口になりました(^_^)

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



687: テンプレートとファイル  全レス

01: 名前:Licca 投稿日:2000/05/11(木) 10:17
いつもお世話になっています。
今、VBAで色々と遊んでいるのですが、一つ気になることがあります。
visioのテンプレートファイルを使って作成したファイルはメニューもテンプレートと同じですよね?
が、自分でテンプレートを作成した場合、テンプレートファイルに
ThisDocument.SetCustomMenus uiObj
と記述してもファイルを開いたときにメニューはカスタマイズされませんよね?

テンプレートファイルと作成されたvsdファイルで同じカスタマイズメニューを利用出来るようにしたいのですが
visioのテンプレートのように作成されたファイルにテンプレートと同じメニューを表示させるようにすることって出来ないのでしょうか?
Applicationオブジェクトをいじってしまって他のテンプレートまでカスタマイズするようなことはしないで・・

02: 名前:Licca 投稿日:2000/05/12(金) 10:10
管理人さんの006の習作を見て分かりました。
Document_DocumentCreated と Document_DocumentOpened でuiを設定するようにすれば良いのですね

03: 名前:こうち 投稿日:2000/05/12(月) 18:29
>管理人さんの006の習作を見て分かりました。

管理人さんのサンプルはとっても重宝ですよね。

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



688: VSL の配布ってどうするんですか?  全レス

01: 名前:名無しさん投稿日:2000/04/28(金) 16:20
C++でようやくVSLを作成しました。開発環境下ではうまく動くのですが、開発環境の無いマシンに
VSLをコピーしただけではVSL内のアドオンをVisioが読み込んでくれません。
ちなみにC++をアンインストールした場合もVisioはVSLを読み込まなくなりました。
マニュアルには「コピーするだけ」なんて記載がありますが、実際はどうなんでしょ・・・?
どなたかご存知のかた教えてください。

02: 名前:管理人投稿日:2000/04/28(金) 17:46
C++は詳しくないのですが、デバック設定でビルドしているとか
必要なDLL(初期状態だと共有DLLだと思った)が入っていないとか・・・
私はサンプルを改造してビルドしていましたが他のマシンでも問題なく動いてました。

03: 名前:名無しさん投稿日:2000/05/01(月) 14:38
思いっきり正解でした。 ばっちりデバッグモードのVSLでした。愚かですね・・・。
V2Kにしたら今までのVBでの処理が無茶苦茶遅くなってしまい、すべてC++で書き換えています。
同一インスタンス上で処理がされるため、書換えの効果は断然なのですが、オンラインマニュアルとか
C++での説明が貧弱なのでちょっと大変です。特にGetResultsのサンプルは嘘ばかり書いてあって
その通りにコーディングするとエラーは出るわ、強制終了はするわで参りました。
また何かありましたらお願いします。

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



689: ユーザーインターフェースについて  全レス

01: 名前:ともこ 投稿日:2000/04/19(水) 20:36
はじめまして。VISIO初心者のともこです。
VISIO2000でユーザー設定のメニューを作成しようと
思ったのですが、ヘルプ通りに進めていったところ、
分類に[ビルトイン メニュー] が表示されません。
で、そこから進めなくて困っています。
誰かわかる方教えて下さい。

02: 名前:こうち投稿日:2000/04/20(木) 14:44
>分類に[ビルトイン メニュー] が表示されません。

[ユーザー設定]ダイアログが表示されている時に
いつもどおりメニューバー(画面上部のタイトルバーの下)を開いて
そこから直接ドラグ&ドロップできます。

ちなみに[ファイルF]や[表示V]といったグループでもドラグできます。
ツールバーのボタンも直接ツールバーからドラグできます。

こんな説明でわかりますか?。

03: 名前:ともこ 投稿日:2000/04/21(金) 10:21
こうちさんどうもありがとうございます。
おかげで前進前進です。
例えばある図面でだけ「ツール」だけが表示されるメニューを作りたかったんです。
新しいバーを作成してそこに不要なメニューをメニューバーからドロップして
そのカスタムメニューバーをファイルに保存し、メニューバーを元に戻して
ある図面のDocument_DocumentOpenedイベントでそのファイルをカスタムメニューに
セットするようにしました。
できることはできたんですけど、
ThisDocument.CustomMenusFile = "c:\test.vsu"と書いただけでは
うまくいかなかったので
Visio.Application.CustomMenusFile = "c:\test.vsu"と書いて
Document_BeforeDocumentCloseイベントで
Visio.Application.ClearCustomMenus
とするようにしました。こんな使い方でいいのかなぁ?
ヘルプを見たりソリューションガイドの必要なとこを印刷したりして
サンプル探して四苦八苦してやってます。

04: 名前:こうち 投稿日:2000/04/21(金) 13:01
>とするようにしました。こんな使い方でいいのかなぁ?

私は Visio2000の UIを触っていないのでお答えできませんが
Visio5.0の UIでは結構,四苦八苦しました。
「マニュアル通りにやってるんだけど?」ということは何回もありました。

とりあえず動けば「結果オーライ」(笑)。
そのうち自分のレベルが上がれば,また違ったやり方が見つけられるだろう
と思いながらやってます。

05: 名前:ともこ@自宅 投稿日:2000/04/22(土) 22:04
そう、「結果オーライ」ですよねぇ。
これからもきっといくつも壁にぶつかると
思うけど私もそれで行こうっと。(*^-^*)
こうちさん、どうもありがとうございます。
それとこの掲示板を提供してくださっている
管理人さんにも感謝!です。

06: 名前:管理人投稿日:2000/04/25(火) 18:10
>例えばある図面でだけ「ツール」だけが表示されるメニューを作りたかったんです。
プルダウンじゃなくってツールバーですが以前作った習作が有るので探して明日にでも
UPしておきます。
稚拙なサンプルですが「ある図面でだけ・・・」に関しての要望はクリアしていると思います。
思い出すのに時間が掛かってしまって亀レスになちゃいますが何かの役に立ててください。

でわでわ

07: 名前:管理人投稿日:2000/04/26(水) 15:18
http://visio-square.hypermart.net/cgi-bin/upload/image/006.lzh [source] [check]
つーことで習作をアップしました。
ソリューションの下に展開してVISIOで開くとツールバーにボタンが現れます。
ボタンを押しても意味無いメッセージが現れるだけです(^^ゞ

空白の図面を開いてからボタン習作.vstを開き、
ウィンドウを切替えると「ある図面でだけ・・・」が確認できます。
(一応VISIO5と2000で動作確認していますが若干振る舞いが異なるようです)

余談ですが習作の元ネタはDVSフォルダのCustomui.VSTです。

でわでわ

08: 名前:ともこ 投稿日:2000/04/27(木) 21:18
どうもありがとうございます。
参考にしてがんばります。
あ、そうそう、ボタンのメッセージGOODでした。(*^-^*)

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



690: 図形と図形の接続について  全レス

01: 名前:木村 投稿日:2000/04/17(月) 14:03
初めて投稿します。
現在、VISIOソリューション開発ガイドVer5を見ながら
VB6 からフローチャートを描かせる
プログラムを作ろうと悪戦苦闘しています。
何とかシェイプを図面の任意の位置に配置する事はできる様になったのですが
シェイプとシェイプの接続がうまくいかずに悩んでいます。

疑問
シェイプAの Connection と シェイプBの Connection を
GlueToで接続する事はできるのでしょうか?
テキストを見ると シェイプAの Control とシェイプBの Connectionを
GlueToしているサンプルしか見当たらないので

VISIO のバージョンは 2000 です

02: 名前:かど 投稿日:2000/04/17(月) 17:48
かどです。何の解決案でもないので恐縮ですが。

> 疑問
> シェイプAの Connection と シェイプBの Connection を
> GlueToで接続する事はできるのでしょうか?

マニュアル & 実際やってみた限りコントロールハンドルと
接続ポイント(Pinも)との接着みたいです。

私もちょっと前に自動接続をやりたくて色々挑戦したのですが、
あきらめ;-<て、ダイナミックコネクタを Drop してその
Begin(XY),End(XY)を強引に書き換えるスクリプトを組みました。

しかし、
1. 接続ポイントを持つシェイプを選択する
2. ツールバーよりダイナミックコネクタを選択
3. ステンシルから接続ポイントを持つシェイプをDropする
これを行うと、Visioは自動的に接続するのですよ、ね。
しかもコネクタのシェイプシートを見ると、_WALKGLUE() なんて言う
内部関数が指定してあるし。

Visioは奥が深いというか情報が少ないというか・・・。

識者の方、私にも教えてください。

03: 名前:木村 投稿日:2000/04/18(火) 10:39
すみません、私は大変な勘違いをしていたようです。
シェイプA と シェイプB を強引に結ぼうと考えていたのですが
動的コネクタの存在に気が付きませんでした。
シェイプA(Connections.Xn) と 動的コネクタ(BeginX) 、
シェイプB(Connections.Xn) と 動的コネクタ(EndX) を
GlueTo したところ思いどうりの接続ができました。

かどさん大変お騒がせしました。

04: 名前:管理人投稿日:2000/04/18(火) 12:05
かどさんの指摘された件ですが、私も以前調べてみました。

>これを行うと、Visioは自動的に接続するのですよ、ね。
どうやら内部的な処理を行っているようです。
VBAを使って手操作と同じ状態を再現させましたが
ダイナミックコネクタは引かれませんでした(-_-;)

余談ですが私が作った接続プログラムはダイナミックコネクタを
ドロップしてとか、GlueToメソッドで・・・じゃなくって
DrawLineの両端をGurd関数で保護して接続ポイントの座標にしていました。
思い返すと恥ずかしいです(^^ゞ

05: 名前:Nori投稿日:2000/04/18(火) 23:03
質問とは直接関係無いのですが・・・
”VISIOソリューション開発ガイド”なるものがあるのですか?
自分で複雑なシェイプを作ろうと思って参考になりそうな本を探したのですが
簡単な使いか方の説明しか書いていない本しか見つからなくて諦めてしまったのです。
出版社など、教えたいただけると助かるのですが
宜しくお願いします。

06: 名前:こうち投稿日:2000/04/19(水) 09:15
>”VISIOソリューション開発ガイド”なるものがあるのですか?

Visio5.0に付属するマニュアルです。
(市販はされていないと思います)結構重宝しています。

使っていない人の方が多いと思うので
そういう人から譲ってもらうしかないでしょうね。

Visio2000ではこの”VISIOソリューション開発ガイド”は
なくなって全てオンラインヘルプになっています。

07: 名前:管理人投稿日:2000/04/21(金) 09:47
VISIO2000のソリューション開発ガイドはPDF形式になっています。
500頁もカラー印刷したら社内で非難されそうなのでPC上で読んでいますが効率悪いです(-_-;)

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


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