KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

561 :利用可能なアドインが空(02)  562 :ユーザー定義メニューを追加するにはどうすればいいのでしょう?(02)  563 :VCオートメーション VS VBAはどっちが速い??(01)  564 :shapeを貼り付けた時の位置を自動的に移動する方法(03)  565 :VISO図面に張り付いているshapeを全てチェックする方法(03)  566 :VISIO終了時にスタック領域が不足するエラー(03)  567 :VCによるVISIOオートメーション起動、及び操作について(03)  568 :ダブルクリックイベントでフォームを起動する方法(03)  569 :グループ化された図形の線の色の変更(02)  570 :グループ化したshapeのtextに値を表示する方法(01)  571 :VBAでODBC経由でDBに接続する方法(早急)(01)  572 :VBAでFTPを行う方法(02)  573 :VBA上でバッチ処理を走らせる方法(03)  574 :ページ移動イベントの取得(03)  575 :VBAでテキストフィールドを追加したら表示できない(04)  576 :VISIO VCの質問なんですが・・・・(06)  577 :複数ファイルの連続印刷(01)  578 :VBAからカスタムプロパティの値の取得方法(03)  579 :指定ページのアクティブの仕方をおしえて(05)  580 :「アニメーションっぽい」ことできますか?(06)  581 :フォントを変える方法について(03)  582 :Visio終了時エラー (03)  583 :AutoCAD図面を取り込み後、VBで座標を取得できますか?(02)  584 :アドオンの開発(02)  585 :Visio VBA書籍について(03)  586 :リバースエンジニアリングできません。なぜ?(02)  587 :VBで「ツール」「オプション」の開発モードをON,OFFする(03)  588 :Window状態の取得(02)  589 :印刷プレビューウィンドウと図面ウィンドウの識別方法(01)  590 :シェイプがドロップされる直前の選択状態(01)  591 :VBからVisio2000起動後、Visio-VBAを実行したい(03)  592 :Windows2000 + Visio2000 SR1(01)  593 :Master から Shape(05)  594 :結合後のID取得方法(06)  595 :ステータスバーについて (04)  596 :特定のシェイプを削除できないようにするには (03)  597 :VisioToolBoxについて (03)  598 :Visio2000で作ったものをDXF形式にする方法について(至急) (06)  599 :VSLマクロの実行 (01)  600 :ちょっと確認させてください。 (03) 
ログ検索  リロード  前のページ  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 次のページ  総てのスレッド  スレッド総数 696561 - 570 を表示


561: 利用可能なアドインが空  全レス

01: 名前:みほ投稿日:2001/07/05(木) 16:34
VISIO2000のVBAで始めて開発するのですが、
利用可能なアドインが空で、リソース・エディタが使えません
VB6には、ちゃんと存在するのですが、
Office2000のVBAのアドインも空です。
アドインを登録するには、どうすればいいのでしょうか?

02: 名前:みほ投稿日:2001/07/05(木) 20:01
あと、VISIOのツールバーのカスタマイズは、
ExcelやAccessの様に、ユーザ定義マクロを
登録することはできないんでしょうか?

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



562: ユーザー定義メニューを追加するにはどうすればいいのでしょう?  全レス

01: 名前:Tome投稿日:2001/07/02(月) 12:57
はじめまして。
私が使っているのはVisio5.0なので当然自動保存の
機能は持っておりません。(T_T)
ということで
VisioVBAを使って自動保存のマクロを作ってみました。

図面内で作成したマクロにはユーザー定義メニューが割りつきますが
アドイン機能としてステンシル形式に保存したものから
開くとユーザー定義メニューが現れません。
一度作ったマクロは他の図面でも同様な機能を持たせたいのに
マクロはその図面内でしか適用されないのでしょうか?

ちなみに勝手ながら <AutoSave.lzh>という
ファイルをアップさせていただきましたので参考になさって頂ければ
幸いです。

02: 名前:Tome投稿日:2001/07/02(月) 13:15
ごめんなさい。
上記のファイル
<AutoSave.lzh>は
こちらのホームページに記載されているのは
<028.lzh>になっております。

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



563: VCオートメーション VS VBAはどっちが速い??  全レス

01: 名前:KOUSUKE投稿日:2001/06/28(木) 19:04
データベースから値を取得し、その情報にタイマーにより一定周期でオブジェクトに
反映させるものを開発しようと思っています。

方法としては、

@VCでVISIOファイルをオートメーションで起動し、外からオブジェクトの操作を行う。
A使用するVISIOファイルのVBAに直接処理を書き、VBAでオブジェクトの操作を行う。

の2つが考えられますが、全く同じ処理を行った場合、どちらの方法でやったほうが
処理が速くなるでしょうか?

作ったテストプログラムでは、VBAの方が速いような気がするんですが・・。

どなたか、この手の処理に詳しい方、いらっしゃいましたら、ご教授ください。
よろしくお願いいたします。

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



564: shapeを貼り付けた時の位置を自動的に移動する方法  全レス

01: 名前:NBS投稿日:2001/06/21(木) 12:51
こんにちは。NBSです。
shapeを貼り付けた際に、自動的に位置を調整したいのですが、
以下の方法でやると、shapeが消えてしまいます。

<例>
Private Sub vsdPageObj_ShapeAdded(ByVal Shape As IVShape)
-中略-
'Shape位置の設定
Shape.Cell("PinX") = 147
Shape.Cell("PinY") = 105
End Sub
ここで寸法も入れようと思い、上記の100を
Shape.Cell("PinX") = "147mm"
Shape.Cell("PinY") = "105mm"
としてもだめでした。
ここで、さらに数値の単位を考えて、
Shape.Cell("PinX") = 1.47
Shape.Cell("PinY") = 1.05
としても、シェイプシートのPinX,PinYに実際に入っている
値は
PinX: "38.???? mm"
PinY: "27.???? mm"
でした。(縮小50%です。)
これを解決する方法を知っている方が居りましたら、
情報提供宜しくお願いします。

02: 名前:おかず投稿日:2001/06/21(木) 19:52
PinXの値は通常インチになっているので、mmの値をセットしても思っている数値にならないはずです。
Shape.Cell("PinX").Result(visMillimeters)=???
とすると、PinX,PinYの値にmmの数値を代入できますよ。

03: 名前:NBS投稿日:2001/06/28(木) 12:37
おかずさんこんにちは。
解決できました。
回答ありがとうございます。
返事遅くなりまして申し訳ありません。

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



565: VISO図面に張り付いているshapeを全てチェックする方法  全レス

01: 名前:NBS投稿日:2001/06/15(金) 10:45
NBSです。
基本中の基本の質問で申し訳ないです・・・。
題名がちょっと変なんですが、具体的に言うと、
図面にshapeが幾つか張り付いてるものとします。
ここで、付いている全てのshapeオブジェクト名等のデータを
見たいのですが、方法を忘れてしまいました。
for文で何か出来たと思ったのですが、知っている方居りましたら、
回答宜しくお願いします。

02: 名前:oki投稿日:2001/06/22(金) 00:31
以下は、VisioのDVS.pdfに載っている内容そのままです。

Function ShapesCount (root As Object) As Integer
 Dim iCount As Integer 'Return value
 Dim shpsObj As Visio.Shape 'Shapes collection
 Dim shpObj As Visio.Shape 'Shape object

 iCount = 0 'Assumes root.Shapes is a group or a page
 Set shpsObj = root.Shapes
 For Each shpObj In ShpsObj
   If shpObj.Type = visTypeGroup Then
     iCount = iCount + ShapesCount(shpObj)
   Else
     iCount = iCount + 1
   End If
 Next
 ShapesCount = iCount

End Function

この再起アルゴリズムは私もしょちゅう使っています。

03: 名前:NBS投稿日:2001/06/28(木) 12:33
こんにちは。okiさん回答ありがとうございます。
そうでした。visio.shapes型のなかでvisio.shapeを回すんでしたね。
返事遅くなりまして申し訳ありません。

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



566: VISIO終了時にスタック領域が不足するエラー  全レス

01: 名前:ボビー投稿日:2001/06/27(水) 14:44
題名のとおりですが、VISIOVBAで
Documents(1).close や
SendKeys "%{F4}",True
を使って終了するときにエラー番号28「スタック領域が不足しています」が
表示され、落ちてしまいます。
ヘルプを読むと、再帰呼び出しによるループがどうのこうのと書いてあるのですが
再帰呼び出しをしているところはありません。

どなたか、対処法をご存知の方がいらっしゃいましたら、ご教授ください。

02: 名前:ボビー投稿日:2001/06/27(水) 17:35
補足です。

どうやら、カスタムメニューが悪さしているようです。
Documents(1).ClearCustomMenus
を実行すると、同様にスタック領域不足が生じます。

03: 名前:ボビー投稿日:2001/06/28(木) 09:27
解決しました

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



567: VCによるVISIOオートメーション起動、及び操作について  全レス

01: 名前:ボビー投稿日:2001/06/21(木) 16:17
VCからVISIOをオートメーション起動し、VC側からVISIO内のオブジェクトを
操作するものを作っておりますが、以下の方法でファイルを開くと、タイトルバー
の部分にファイル名ではなく[図面1:ページ-1]と表示されてしまいます。
(本来は、[Test_Gr.vsd:ページ-1]と表示させたい)

また、Document.FullNameプロパティに関しても、"c:\Graphicfiles\Test_Gr.vsd"
といった値ではなく"図面1"が返ってきてしまいます。

ここの掲示板の過去ログによると、タイトルバー[ ]内の文字列は変更できない
ようなので、別の起動方法を模索している最中です。

これらを解決する方法をご存知の方がいらっしゃいましたら、ご教授ください。
よろしくお願いします。

以下、サンプルコード

// VISIO起動処理
if(VAO_SUCCESS != vaoGetObjectWrap(cVisiApp)){
return FALSE;
}
// ファイルOPEN処理
cVisiApp.Documents(cVisiDocs);
if(cVisiDocs.Add(VBstr("c:\Graphicfiles\Test_Gr.vsd"), cVisiDoc) != 0){
return FALSE;
}

02: 名前:ボビー投稿日:2001/06/21(木) 16:29
補足

Document.FullName
は起動されたvsdファイルのVBAで行っています。

03: 名前:ボビー投稿日:2001/06/21(木) 18:02
解決しました。

if(cVisiDocs.Add(VBstr("c:\Graphicfiles\Test_Gr.vsd"), cVisiDoc) != 0){

のAddの部分をOpenに変更するだけできました。
どうやら、Addで行うと複製を開く形になり、上で示したような状態になるようです。

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



568: ダブルクリックイベントでフォームを起動する方法  全レス

01: 名前:NBS投稿日:2001/06/19(火) 14:55
NBSです。

シェイプをダブルクリックした際にexeを動かすのは、
シェイプシート上でイベントの"EvtDblClick"で
"=RUNADDON("????.EXE")"と記述する方法があるように、
同様に、プロジェクトで作ったフォームを直接起動する方法を
知っている方が居りましたら、回答宜しくお願いします。

02: 名前:かど投稿日:2001/06/20(水) 08:48
ども。かどです。

CALLTHIS関数をを調べてみて下さい。

03: 名前:NBS投稿日:2001/06/20(水) 12:57
ご返答ありがとうございます。
早速試してみて、無事起動することが出来ました。
助かりました。ありがとうございます。

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



569: グループ化された図形の線の色の変更  全レス

01: 名前:みつこ投稿日:2001/06/18(月) 17:12
グループ化された図形の線の色が変更できません。

現在、
pShape.Cells("LineColor").Formula = 2
というように設定しているのですが変更できません。
これがグループ化されていない図形の場合には変更されます。
知っている方居りましたら、回答宜しくお願いします。

02: 名前:かど投稿日:2001/06/20(水) 08:36
ども。かどです。
グループを構成している個々のシェイプのLineColorを変えてあげないと
ダメみたいです。
---
For Each pS in pShape.Shapes
pS.Cells("LineColor").Formula = 2
Next pS
---

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



570: グループ化したshapeのtextに値を表示する方法  全レス

01: 名前:NBS投稿日:2001/06/18(月) 19:58
NBSです。

グループ化したshapeの中のオブジェクトのテキスト内容を
表示したいのですが、
「オブジェクトはこのプロパティまたはメソッドをサポートしていません」
というエラーが出ます。
私は以下のような設定を行ったのですが、何か間違っている点が
ありましたらご指摘宜しくお願いします。

<設定>
1.a,b,cのオブジェクトをグループ化してAというshapeを作る。
2.aのオブジェクトを選んで、「右クリック」-「書式」-「オブジェクト情報」
  で「オブジェクト情報」を出力して、名前にaNameという名前を入力
  して「OK」ボタンを押します。
3.VBA上でA.aName.Text = "名前"としても、aのオブジェクトには
  "名前"が出力されません

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


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