KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

331 :フォーカス機能?(18)  332 :Visio標準の保存をしたくない(03)  333 :ステンシルのVBAが別なOS・パソコンで動作しない(05)  334 :イミディエイトウインドウをクリアするツールボタン(03)  335 :プリインストールダイアログを消したい(04)  336 :ファイルパスの取得(04)  337 :カスタムプロパティをVBAで消す方法(04)  338 :ファイル保存時のメッセージ(11)  339 :Shapeのフォント名変更(15)  340 :ツールバーへコンボボックス(06)  341 :ハイパーリンクの削除(03)  342 :txtを元にした自動作図(03)  343 :2本の線を1つのパターンとして取得(05)  344 :選択した図形のシェイプシートの値をVBAで変更(05)  345 :VISIO2002、2003非互換について(06)  346 :新しいページの挿入法(05)  347 :Visioのオブジェクトモデルについて(03)  348 :グループ内の子シェープの選択判定(03)  349 :Shapeの色をRGB値で取得する方法(03)  350 :レイヤープロパティの「#」(02)  351 :SelectionChangedイベントについて・・・(05)  352 :図面内のアクティブなステンシルの取得(05)  353 :特定の図面オープン時に特定アドオンの実行(02)  354 :マクロで色を一括変換(07)  355 :グループ化した図形の座標取得(11)  356 :カスタムプロパティの変更前の値取得って可能なのですか?(03)  357 :ページを順番に取得する方法(02)  358 :XYToPageメソッドについて(05)  359 :マクロの削除の仕方(06)  360 :コネクタの経路を取得したい(02)  361 :シェイプの図形要素をVBAから変更する(03)  362 :基本動作の設定をVBAで操作できますか?(08)  363 :自作のマクロをアドオンにするには(05)  364 :四角形にCSVから取得した値を表示したい。(10)  365 :VBAのUserFormで連結コントロールは使えないのでしょうか(04)  366 :選択図形を倍率設定して拡大縮小するマクロ(19)  367 :B5からA4へ(11)  368 :「ファイルを開く」のダイアログの表示(07)  369 :選択されたShapeのオブジェクト名称を取得する方法。(05)  370 :VBからVISIOのマクロの呼び出しについて(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 次のページ  総てのスレッド  スレッド総数 696331 - 340 を表示


331: フォーカス機能?  全レス

01: 名前:投稿日:2004/04/19(月) 18:20
今、VISIOで作業をしています。StencilであるICONを画面にDragして
MouseをDoubleClickすれば作成したVisualBasic Formが出ます。
(このFormの中でTextBox属性があります。)
そして、TextBoxに使用者が文章を入力した後、OKをクリックします。
これからこのICONの上、MouseのCursorが位置すれば
先、使用者が入力した文章が出ます。
どうすれば。。。いいでしょうか。
よろしくお願いします。

10: 名前:投稿日:2004/04/20(火) 09:14
はい、わんこさん。あなたが言うとおりです。
どうすればいいかな…知っていますか?

11: 名前:M3号投稿日:2004/04/20(火) 10:01
EventsセクションのEventDropセルとEventDBlClickセルに
VBAの関数名(Thisdocument.関数名)を設定します。
英語ですがVisioのSDKをダウンロードして参考にしてみては
いかがですか?
http://www.microsoft.com/downloads/results.aspx?productID=7CC237B5-12B7-4DAA-A411-938C998DF214&freetext=sdk&DisplayEnglishAlso=on&DisplayLang=ja [source] [check]

12: 名前:投稿日:2004/04/20(火) 11:12
M3号、もしよければメールのAddressを教えていただけませんか?
まだ、理解できませんから。。
参考したい部分が探しましたけど、適用する事か難しくて。。

13: 名前:M3号投稿日:2004/04/20(火) 15:44
申し訳ありません。
個別にご対応はできません。

14: 名前:投稿日:2004/04/20(火) 20:55
 今も、機能に関して探していますけど。。
 まだ解決でしません。
 もし、Visioで CellsSrcについて知っている人がいれば
 説明して下さい。

15: 名前:M1号投稿日:2004/04/20(火) 21:23
VISIOのヘルプ-開発者用リファレンスのオートメーションからCellsSrcの説明が見れます。
ヘルプを見て分からないようでしたらCellsSrcのどんなことを教えて欲しいか再度書き込んでみてください^^

16: 名前:投稿日:2004/04/21(水) 10:02
今Comment機能を追加したいですけど、VisioのSampleで下のソースを探しました。

Dim vsoCell as Visio.Cell
Dim vsoShape as Visio.Shape

Set vsoCell=vsoShape.CellsSRC(visSectionObject,_visRowMisc,visComment)
vsoCell.FormulaU=StringToFormulaForString(_exlCells.Item(intRow,EXL_COL_COMMENTS))

上のソースがなんにを意味しているかを分かりませんから…
 CellsSRCを探しましたけど
 object=object.CellsSRC(section,row,column)
 これも意味を分からなくて…
 お願いします。


17: 名前:yoda投稿日:2004/04/21(水) 10:34
VisioのHelp
開発者用リファレンスの
オートメーションの中の、
プロパティの中の「C」の中に、
CellsSrxcの項目があり、
説明があります。
Cellオブジェクトを指定するために、
section名、その行、列を指定します。
名前だけで指定できる場合は、
Cellプロパティを使います。

18: 名前:yoda投稿日:2004/04/21(水) 10:35
失礼、Cellプロパティではなく、
Cellsプロパティでした。

■トップに戻る リロード  全レスを表示



332: Visio標準の保存をしたくない  全レス

01: 名前:名無しさん投稿日:2004/04/15(木) 15:30
Visioで[上書き保存]をしたくないのです。

図面保存前に発生するイベント
〔Document_BeforeDocumentSave〕
で、保存の回避はできますか?

どのような方法でもいいので
保存の回避方法をご存知の方、
いらっしゃいましたらご教授ください。

よろしくお願いいたします。

02: 名前:M1号投稿日:2004/04/15(木) 16:52
かなり乱暴ですが、

Private Sub Document_BeforeDocumentSave(ByVal doc As IVDocument)
ThisDocument.Saved = False
ThisDocument.SaveAs "別名" & Format(Now(), "yymmdd-hhmmss") & ".vsd"
End Sub

でどうでしょう?
強制的に「別名年月日-時分秒.vsd」で保存してしまいます。
テンプレートを保存したい場合、XMLで保存したい場合などは手直し必須になります。

03: 名前:名無しさん投稿日:2004/04/15(木) 17:47
M1号さん、回答ありがとうございました。
さっそく試したところ、保存の回避が出来ました。

この保存回避法で、検討しなければいけない
箇所がでてきたので、また何かありましたら
質問させてください。

ありがとうございました(’0’)/

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



333: ステンシルのVBAが別なOS・パソコンで動作しない  全レス

01: 名前:名無しさん投稿日:2004/04/04(日) 04:47
WinXPのVisio2002SP1で開発したVBAをステンシルファイルに格納して、
WinMeのVisio2002SP1で動作させると
「コンパイルエラー:プロジェクトまたはライブラリが見つかりません」
というメッセージが出て動作しません。
ステンシルから図面のほうにソースをコピー&ペーストして動作させると正常に動作します。
なにか宣言がおかしいのでしょうか?

02: 名前:名無しさん投稿日:2004/04/04(日) 06:46
その後わかったことですが、Aのパソコンで作ったVBAのソースコードを
Bのパソコンで新たに作成したステンシルファイルにコピーすると動作しました。
ソースのコピー以外にステンシルファイルだけを移植することで
Aで作成したマクロをBのパソコンで動作そせることはできないのでしょうか?

03: 名前:yoda投稿日:2004/04/04(日) 09:52
一つは、参照設定かもしれません。
図面でした参照設定と同じ参照設定を、
ステンシルでも、してあるかどうか。

一つは、ThisDicumentキーワード、かも知れません。
図面上のVBAは、
その図面をThisDocumentと認識しますし、
ステンシル上のVBAは、
そのステンシルをThisDocumentと認識します。
ステンシルから見た図面は、ActiveDocumentなので、
ThisDocumentは、ActiveDocumentに、変える必要があります。

04: 名前:yoda投稿日:2004/04/04(日) 09:59
OSの違いでは、エラーの原因が、わかりにくいですね。
エラーが、どこで発生したか、よく確かめて、
コードを見直すのですが、私の場合、
ある程度の試行錯誤に、なってしまいました。

05: 名前:名無しさん投稿日:2004/04/04(日) 14:35
>yodaさん
早速の回答ありがとうごさいました。
ThisDocumentのほうは該当せず、参照設定のほうで解決しました。
とりあえず開発環境の参照設定を最低限必要な参照設定にすることで
移植側での動作が可能になりました。

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



334: イミディエイトウインドウをクリアするツールボタン  全レス

01: 名前:yoda投稿日:2003/08/08(金) 16:13
イミディエイトウインドウをクリアするツールボタンを作ってみました。
結構便利なので、アップロードしておきました。
VBAIDEのデバッグバーに、追加しました。

一番右の、消しゴムのボタンを押すと、クリアします。
その、左のボタン1とボタン2は、でたらめな文字を書き込みます。
ボタン1、ボタン2を押してから消しゴムを押すと、クリアされます。

さらに、その右の、2つのビルトインボタンは、蛇足のようですが。
実は、ビルトインとカスタムの違いは、
ビルトインは、コードを編集しても、平気ですが、
カスタムのほうは、コードを編集すると、Clickイベントを受け取る
オブジェクトが、リセットされてしまうため、ボタンを押しても反応
しなくなる点です。

それで、ビルトインのセーブ(ついでにコンパイルも)ボタンを近く
に置き図面をセーブしたときに、ツールボタンを作りなおすように
しています。

VBAのコードを修正したら、コンパイルし、セーブすると、右の
三つのカスタムボタンが、動くようになります。

02: 名前:shonsuke投稿日:2004/04/03(土) 09:07
ツールをダウンロードしたい!

03: 名前:yoda投稿日:2004/04/03(土) 17:14
毎度ありがとうございます。
ここです。
http://www.mster.co.jp/visiosquare/cgi-bin/upload/image/058.lzh [source] [check]

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



335: プリインストールダイアログを消したい  全レス

01: 名前:syao投稿日:2004/03/29(月) 10:40
どうも、はじめまして。syaoと申します。
早速ですが、visio2003とvisio2000を開発で使っているのですが
バージョンを切り替えた後にvisio2003を起動すると必ずプリインストール
画面が出てしまいます。

このダイアログを表示しない(画面上に出てなければかまいません)
方法などありますでしょうか?

よろしくお願いします。

02: 名前:yoda投稿日:2004/03/30(火) 12:09
難しそうですね。
現実的ではないけれども、
マシンを分けるか、
ドライブとOSを分ける、
しか、なさそうですね。

03: 名前:M1号投稿日:2004/03/30(火) 22:54
レジストリ情報の書き換えを行っているプログラムなので無理みたいです。
もし仮に自前でレジストリ情報の回避と復旧をする場合は・・・どうなるんでしょう^^;
ま、そんな面倒なことをするよりyodaさんが書かれてるようにOSを分けるのが手っ取り早いでしょうね。
わたしはVirtual PCを使っていますけど。。

04: 名前:syao投稿日:2004/04/02(金) 12:14
お返事ありがとうございます。
こちらでも調査した結果、どうやら無理らしいという結論に至りました。

とりあえず、OSをわけて作業するようにしてみます。

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



336: ファイルパスの取得  全レス

01: 名前:みか投稿日:2004/03/15(月) 15:05
Application.Dialogs(xlDialogOpen).Show

を実行した後にそのファイルのパスを取得する方法はありますか?
知っている方が居たら教えてください。

02: 名前:yoda投稿日:2004/03/15(月) 15:25
ここはMicrosoftVisioに関する掲示板です。

03: 名前:なか投稿日:2004/03/16(火) 08:56
>Application.Dialogs(xlDialogOpen).Show
これってただ「ファイルを開く」ダイアログを表示するだけなんですけど

>を実行した後
と言うのはファイルを開くところまで含まれているのかな?
それなら、ActiveDocumnetで開いたWorkbookオブジェクトを取得し
FullNameプロパティを取得すればできるんじゃないかな

余談
>ここはMicrosoftVisioに関する掲示板です。
確かにそうなんですけど、VBAだとExcelを呼び出したりできるから
切り分けが難しいですね。

04: 名前:みか投稿日:2004/03/16(火) 16:04
yodaさんへ
すみません。間違っていたみたいです。

なかさんへ
ありがとうございます。さっそく挑戦してみます。
掲示板間違えた事は本当に申し訳ありません。

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



337: カスタムプロパティをVBAで消す方法  全レス

01: 名前:K.K投稿日:2004/03/12(金) 17:25
Visio 5 を使用しています。ステンシルにカスタムプロパティを設定し、図面
を作成しています。
このカスタムプロパティを手動で消す方法として、

図形選択
カット
形式を選択して貼り付け
図 を選択
OK クリック
グループ化解除
グループ化

で、消去できますが、VBAでは、どのような命令になるか
知っている方、伝授 お願いします。

現状、VBAでは、グループ化解除、再び、グループ化をしています。
この場合、図面ファイル内に同じステンシルが多数(100個以上)あると
図形が壊れることがあり使用できません。

02: 名前:yoda投稿日:2004/03/12(金) 18:16
シェイプシートの、
カスタムプロパティセクションを消去すれば、
よいと、思います。

03: 名前:yoda投稿日:2004/03/12(金) 19:36
VBAでは、delsectionメソッドを使います。

04: 名前:K.K投稿日:2004/03/15(月) 17:31
ありがとうございました。
やってみます。

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



338: ファイル保存時のメッセージ  全レス

01: 名前:スキップ投稿日:2004/03/11(木) 15:31
スキップと申します。

Visio2002で作成した図面をVisio2003で編集し、保存すると
保存バージョンを聞いてきますが、このダイアログを
非表示にする方法をご存知の方は教えてください。

Visioを非表示にし、VBAにてSaveする仕組みを構築しているのですが、
実行するとこのダイアログが
出てきて、結局何も触れない状態になってしまいます。

作成したバージョンで保存できれば良いのですが・・・。

03: 名前:BOB投稿日:2004/03/12(金) 08:20
AlertResponse プロパティを使用してはどうでしょうか
保存前
Application.AlertResponse = 7
保存後
Application.AlertResponse = 0

04: 名前:スキップ投稿日:2004/03/12(金) 09:03
スキップです。

どうも私の表現がまずかったようです。
保存確認ダイアログではなくて、保存するVisioのバージョン確認の
ダイアログを非表示にしたいのです。

saved,AlertResponseプロパティは保存確認画面は表示されませんが。

05: 名前:yoda投稿日:2004/03/12(金) 10:06
まずくは、ないですよ。
よく注意して、もう一度、読むと、
たしかに、そう書いてあります。
いつも、最初の1行だけしか、読まないので、
よく、早とちりしてしまいます。
ごめんね!

06: 名前:yoda投稿日:2004/03/12(金) 10:24
最初に、document.version プロパティで、バージョンを指定し、
次に、document.saveasex メソッドを使うと、
良いかも、知れません。

07: 名前:スキップ投稿日:2004/03/12(金) 18:51
スキップです。

色々とコメントを頂きましてありがとうございます。

Visio2003から、DefaultSaveFormatというプロパティが追加になっており、
こいつを使うとあのメッセージを出さずに保存できるみたいです。

が、
Visio2003の「おバカ」は、旧図面を開くと、
内部的にVersionをVisio2003と認識するみたいです。
ほいで保存するときに自分は昔のバージョンと思い出すそうです。

・・意味ないです、DefaultSaveFormatプロパティ。

08: 名前:yoda投稿日:2004/03/12(金) 19:29
修正版、出ないかなー

09: 名前:yoda投稿日:2004/03/12(金) 19:34
マクロの記録は、やってみましたか?

10: 名前:yoda投稿日:2004/03/13(土) 10:05
元のバージョンで保存するマクロを、
試作してみました。
一度、2003(多分)で保存し、
元のバージョンで、再保存します。

これで、バージョンの警告がでなければ、
よいのですが。
もっとも、2003で、動くかどうか、分りませんが。
Sub prevversion()
Dim docVersion As Variant
docVersion = ThisDocument.Version
ThisDocument.Version = visVersion110
ThisDocument.SaveAsEx ThisDocument.Name, visSaveAsWS + visSaveAsListInMRU
ThisDocument.Version = docVersion
ThisDocument.SaveAsEx ThisDocument.Name, visSaveAsWS + visSaveAsListInMRU
End Sub

11: 名前:スキップ投稿日:2004/03/15(月) 11:50
スキップです。

yoda様、色々やっていただきありがとうございます。

さて、Visio2003の「おバカ」ですが、
・Visio2002で保存した図面のVersionはVisio2003で開いた時は visVersion110
・一旦手動で Visio2002で保存した後、再度Visio2003で開くと visversion100
となるようです。
つまり最初の docVersion へは、必ず visVersion110 がセットされます。
(これに関しては)使えねぇ〜、Visio2003。
さらに言うなら、シェイプのPin位置表示、邪魔。関係ないけど。

Visio2002ファイルを開いたら、DocumentのVersionは2002だと
思うのです。いかがでしょう? >> MS関係者ご一同様。

yoda様、重ねて御礼を申し上げます。

■トップに戻る リロード  全レスを表示



339: Shapeのフォント名変更  全レス

01: 名前:fts投稿日:2004/03/04(木) 17:23
教えて下さい!
フォントサイズの変更は出来たのですが、
フォント名の変更ができません(MS Pゴシック→MS ゴシック)
フォント番号を使わずにExcelVBAのようにフォント名”MS ゴシック”での設定は出来ないのでしょうか?
もし出来ないのでしたらMS ゴシックのフォント番号が知りたいのですがなにぶん初心者なもので…
ご教授よろしくお願いしますm(_._)m

07: 名前:スキップ投稿日:2004/03/05(金) 08:49
VBAが可能であれば Document.Fonts(ここにフォント名).ID で取得できませんか?

08: 名前:fts投稿日:2004/03/05(金) 09:10
ありがとうございました。
もう少しいろいろ回避策をやってみます。

09: 名前:yoda投稿日:2004/03/05(金) 11:12
スキップさん、ありがとうございます。
ftsさん、次のマクロを試していただけませんか。
Sub setMincho()
Dim f As Font
For Each f In ThisDocument.Fonts
If f.Name = "MS 明朝" Then
ThisDocument.GestureFormatSheet.CellsSRC(visSectionCharacter, 0, visCharacterFont).FormulaU = f.Index
ThisDocument.GestureFormatSheet.CellsSRC(visSectionCharacter, 0, visCharacterAsianFont).FormulaU = f.Index
End If
Next
End Sub

10: 名前:fts投稿日:2004/03/05(金) 13:09
yodaさん、ありがとうございます。
既存のShapeには、影響ないようです。
ですが、追加したShapeは、MS明朝になているように見えます。
「見えます」というのは、ウィンドウ上の書式設定ツールバーには何もフォント名を表示しないからです。
ツールバーから「MS明朝」を選んでも見た目が変わらないのでMS明朝になっていると思います。
既定のフォントがMS明朝になったようです。

11: 名前:yoda投稿日:2004/03/05(金) 15:45
......FormulaU = f.Index
となっているところ(2行)を、
......FormulaU = f.ID
として、見たら、いかがでしょうか。
Visio2000では、更に、2行目のvisAsian...は、
消去して、うまくゆくのですが。

12: 名前:fts投稿日:2004/03/05(金) 16:06
FormulaU = f.Index→f.ID
visCharacterAsianFont→この行をコメント化
どちらも試してみましたが、状況はかわらずでした。
新規Shapeには、反映しているようです。
お手間取らせてしまって申し訳ありませんでした。

13: 名前:yoda投稿日:2004/03/06(土) 07:52
ftsさん、すみません。
悪いマクロを書いてしまいました。
以下のように、訂正願います。
Dim I As Long
I = ThisDocument.Fonts("MS 明朝").ID
ThisDocument.GestureFormatSheet.CellsSRC(visSectionCharacter, 0, visCharacterFont).FormulaU = I
ThisDocument.GestureFormatSheet.CellsSRC(visSectionCharacter, 0, visCharacterAsianFont).FormulaU = I

14: 名前:fts投稿日:2004/03/08(月) 08:52
おはようございます。
yodaさんありがとうございます。
試してみましたが、既存のShapeには反映しないようです。
新規で貼り付けたShapeには反映しています。
状況的には変わりなしでしたぁ

15: 名前:yoda投稿日:2004/03/08(月) 13:01
既存のShapeの文字もすべて、明朝に変えるのなら、
別のマクロが、必要です。
たとえば、
Sub changemincho()
Dim I As Long
Dim shp As Visio.Shape
Dim pg As Visio.Page
I = ThisDocument.Fonts("MS 明朝").ID
For Each pg In ThisDocument.Pages
For Each shp In pg.Shapes
With shp
.CellsSRC(visSectionCharacter, 0, visCharacterFont).FormulaU = I
.CellsSRC(visSectionCharacter, 0, visCharacterAsianFont).FormulaU = I
End With
Next
Next
End Sub

■トップに戻る リロード  全レスを表示



340: ツールバーへコンボボックス  全レス

01: 名前:名無しさん投稿日:2004/02/23(月) 18:20
ツールバーにコンボボックスを追加し、
その中身も追加したいのですがわかりません。
どなたかご教授お願いします。

02: 名前:yoda投稿日:2004/02/23(月) 19:37
過去ログにツールボタンの話題があります。
サンプルも、あります。
それらを応用したら。いかがでしょう。
たとえば、
http://www.mster.co.jp/visiosquare/cgi-bin/visbbs/mibbs.cgi?mo=p&fo=auto&tn=0009 [source] [check]

03: 名前:名無しさん投稿日:2004/02/24(火) 09:03
早速の回答ありがとうございます。
詳しい環境を書き忘れていました。
Visio2000SR-1でOSはWindowsXPです。
それでツールボタンのほうはご回答いただいた方法で
解決できましたが、コンボボックスはできません。
ご存知あればよろしくお願いします。

04: 名前:yoda投稿日:2004/02/24(火) 09:25
CntrlType プロパティを使ったら、どうかと、
思いますが、使ったことがないので、分りません。

05: 名前:yoda投稿日:2004/02/29(日) 13:41
まだ、勉強中で、なんともいえませんが、
Visio2002からは、他のOfficeと同じような、
CommandBarsオブジェクトが、使えるように、
なったそうです。今後は、これを使った方が、
出来るのかもしれないな、と勉強中です。
詳しい資料は、英文ですが、ここにあります。
http://msdn.microsoft.com/library/en-us/devref/HTML/DVS_22_Customizing_the_Visio_UI_1256.asp?frame=true [source] [check]

06: 名前:yoda投稿日:2004/02/29(日) 22:06
ファイルアップロードに、サンプルプログラムを、アップしました。
http://www.mster.co.jp/visiosquare/cgi-bin/upload/image/070.lzh [source] [check]
解凍して、図面を開くと、ツールバーとコンボボックスができます。
参考資料としては、上記の他、以下のHPを参照しました。
http://www6.plala.or.jp/MilkHouse/practical/contents308/contents30801.html [source] [check]

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


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