KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

371 :VBAを初期化できませんでしたって・・(05)  372 :新しいボタンにマクロを登録する方法(02)  373 :コマンドの選択状態(02)  374 :自動記録?!(05)  375 :ボタンのONOFF状態(04)  376 :全てのページのズーム率をそろえたい(07)  377 :相対セルを絶対セルに変換(03)  378 :単位の設定方法について(05)  379 :モーダルフォームのエラーについて(12)  380 :URLのイメージファイルを貼り付ける方法(05)  381 :要求された操作は実行できません(07)  382 :pdfファイルへ出力(07)  383 :グラフを描く手段について(03)  384 :VBAだと動かないのは?(04)  385 :文字の書式セクションにRowを追加 (03)  386 :変数のやりとりについて(09)  387 :connectオブジェクトの取得について(05)  388 :Excelのデータの読込の方法について(02)  389 :マスタシェイプのサイズの変更(03)  390 :メニューに区切り線を付けたい(03)  391 :図形の切断について(02)  392 :VBAUnitの説明書(04)  393 :Visio2002のオートコレクトの設定方法(01)  394 :全選択(06)  395 :いらないページをVBAで削除(02)  396 :モノクロ印刷をする方法(01)  397 :VBAIDE上にユーザフォームを表示するのは無理?(03)  398 :shapeのカスタムプロパティをVBから取得する方法(09)  399 :フローチャート作成ウィザードの自動化(01)  400 :C#→Visioマクロ(02)  401 :チャイルドウインドウを非表示(08)  402 :VisioファイルをVBで操作する最初の段階(03)  403 :ツールバーの制御について(01)  404 :図面背景色の変更(03)  405 :ThisDocumentの操作の方法について(03)  406 :シェイプが表示中であるかどうかの判断(03)  407 :アドインのインストーラ作成(01)  408 :複数ファイルの読み込み(02)  409 :ヒロ(03)  410 :カスタムプロパティ(04) 
ログ検索  リロード  前のページ  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 次のページ  総てのスレッド  スレッド総数 696371 - 380 を表示


371: VBAを初期化できませんでしたって・・  全レス

01: 名前:e3rin投稿日:2002/09/02(月) 11:47
こちらの「ページ間の複写のマクロ」便利に使わせていただいてます。
いつものように既存の図面にVBAコードをコピー&ペーストしようと
Visual Basicエディタを開こうとしたら
「VisioはVBAを初期化できませんでした。」
というメッセージが出てしまいエディタを開くことが
出来なくなってしまいました。
新規の図面でも試してみましたが同様のようです。

今までは問題なく出来ていたのに
何故突然開くことが出来なくなってしまったのか
さっぱりわかりません(T_T)
どうすれば元にもどすことが出来るでしょうか?

02: 名前:oki投稿日:2002/09/02(月) 21:07
Visioをインストールし直してみてはいかがでしょうか?

03: 名前:e3rin投稿日:2002/09/03(火) 09:33
Visioを再インストールしてみましたが現象は変わりませんでした。
他の人のパソコンを借りて試してみても同じです。
いろいろ試してみたところ、どうやら特定の図面に問題があるようで、
他の既存の図面を開いたときは普通にVisual Basicエディタも開けるし、
マクロを使うこともできるのですが、(新規でも同様)
その図面を開くと、まず、その図面上では全くVisual Basicエディタ開けず、
それだけでなく、その図面を開いた後に他の既存の図面、新規の図面
いずれを開こうとしても同様に開けなくなってしまうみたいです。

どうしてそのようになってしまうのでしょうか(T_T)

04: 名前:oki投稿日:2002/09/03(火) 10:17
そうですか...
謎ですが、とりあえず情報ありがとうございます。

05: 名前:ユニコーン投稿日:2003/10/28(火) 20:26
もう、質問者の方も見ていないかもしれませんが、まったく同じメッセージに遭遇して、
解決できましたので、検索してきた方のために参考までに書いておきます。すべてがこれに当てはまるとはわかりませんが。

私の場合は、ある特定のステンシルが影響していたみたいです。
そのステンシルを開いたときだけ、エラーメッセージが表示されました。
そのステンシル自体は他からもらったものなので、どういう作りになっているのかは
わかりませんが、ステンシルにマクロは入ってません。
唯一、原因として考えられるのが、そのステンシルのマスタシェイプのアイコンを
編集したことぐらいでしょうか。

解決方法として、マスタシェイプを全部コピーして、別名の新規のステンシルに移動させました。
編集したアイコンもまったくそのままです。
そうしたら、無事エラー表示も消えました。

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



372: 新しいボタンにマクロを登録する方法  全レス

01: 名前:fushimi投稿日:2003/10/23(木) 10:06
visio2000を使っています。マクロ作成後、新しいボタンをつくり、そのボタンにマクロを登録してツールバーに加えたいのです。エクセルでするようにはできないので困っています。どのうよにすればボタンにマクロを登録できるのでしょうか?

02: 名前:yoda投稿日:2003/10/23(木) 11:47
過去ログにありますよ。
私も、ここで、勉強しました。
Visio2003では、Excelと、
同じようになるのでしょうか?

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



373: コマンドの選択状態  全レス

01: 名前:名無し投稿日:2003/10/20(月) 10:56
こんにちは、いつもお世話になってます。
ツールバーでコネクタツールや鉛筆ツールを選択しているか否かを取得する事って出来るのでしょうか?

02: 名前:yoda投稿日:2003/10/21(火) 09:56
excelでは、stateプロパティで、
取得できるのに、
(設定は失敗する)
visioで同じように、
出来ないのは、残念ですね。
私のVisioは2000ですが、
Visio2002,や、2003では、
できないのでしょうか?

Sub StateSamp1()
Dim myCBCtrl As CommandBarButton

Set myCBCtrl = CommandBars("Standard").Controls(11)
If myCBCtrl.State = msoButtonDown Then
myCBCtrl.State = msoButtonUp
MsgBox "ボタンをオフにしました"
Else
myCBCtrl.State = msoButtonDown
MsgBox "ボタンをオンにしました"
End If

End Sub

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



374: 自動記録?!  全レス

01: 名前:ユニコーン投稿日:2003/10/18(土) 02:11
こんばんは。
visio2000(プロフェッショナル)です。
もしかして、visioにもマクロの自動記録があるのでしょうか?

図形の基本動作でWクリック時に「マクロの実行」を指定しました。
横にダイアログボックスに「_editor」という表示があったので、なんだろうと思いつつそのまま「OK」しました。
その図形をwクリックしたところ、「code editor」というウインドウが開きました。中は空白です。
メニューの「編集」を見ると「recodeMacro」という項目があったのでクリックしてみたところ、
自動記録の終了ボタンが出てきました。

実際にいろいろ図面をいじってみて、そのボタンをクリックしたのですがなんの変化もありませんでした。
コードも記録はされていませんでした。

これって、いったい何なのでしょうか???
過去の遺物?!
ちなみに家の2002(スタンダード)にはありませんでした。

もし、本当に自動記録が出来るのならぜひ使いたいのですが、
どなたか使い方などをご存じないでしょうか?

02: 名前:BOB投稿日:2003/10/18(土) 08:15
関係ないかもしれませんが
Visio2003には、マクロの自動記録があり非常に便利ですよ。
メニュー→ツール→マクロ→「新しいマクロの記録」があり
セクションを追加したり、セルを変更したり等、いろいろなロジック
が作成可能でした。

03: 名前:yoda投稿日:2003/10/18(土) 22:20
すばらしいですね、
楽になりそうです。

04: 名前:ユニコーン投稿日:2003/10/20(月) 23:19
やっぱり、使われている形跡はなさそうですね(笑)

>Visio2003には、マクロの自動記録があり非常に便利ですよ。
そうなんですか?!
それだけでもバージョンアップする価値がありそうです!

05: 名前:名無しさん投稿日:2003/11/05(水) 00:43
>それだけでもバージョンアップする価値がありそうです!
私の場合、2002で作ったファイルを2003で開くと(またはその逆の場合でも)
文字がずれたりすることがあったので、
よく考えてから導入した方がいいですよ。

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



375: ボタンのONOFF状態  全レス

01: 名前:名無し投稿日:2003/10/17(金) 20:44
こんばんは、ユーザーインターフェースでコネクタツールボタンを押された状態であるか否かを取得したいのですが、
stateプロパティで取得しようとするとその時の状態が反映されていない値が返ってきます。
直線ツール、四角形ツール等の描画ツールのボタンはstateプロパティでボタンの状態を取得する事は出来ないのでしょうか?
また、stateで既存のツールバーのボタンはONOFF状態を設定する事は出来ないのでしょうか?

02: 名前:yoda投稿日:2003/10/18(土) 20:35
実際に、テストする、サンプル
プログラムが、うまく作れないので、
確かなことは、わかりませんが、
Visio2000のState プロパティの
HELPでは、
ビルトインツールバーについて、
できないとは、書いてないので、
できるのでは?

03: 名前:yoda投稿日:2003/10/18(土) 22:18
ようやくできました、
やはり、
追加したボタンでしか、
設定できないようですね。

04: 名前:名無し投稿日:2003/10/20(月) 09:58
やっぱり出来ないんですね・・・
ありがとうございました。

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



376: 全てのページのズーム率をそろえたい  全レス

01: 名前:Qちゃん投稿日:2003/10/17(金) 09:57
全てのページのズーム率を「ページ全体」にそろえたいのですが。
すみません。Visioのマクロはまったくの初心者でわかりません。
よろしくお願いします。

02: 名前:yoda投稿日:2003/10/17(金) 10:08
たとえば、倍率を150%にしたいときは、
Public Sub ZoomAllPages()
Dim myPage As Visio.Page
For Each myPage In ThisDocument.Pages
ActiveWindow.Zoom = 1.5
Next
End Sub
のようにすれば、よいと思います。

03: 名前:yoda投稿日:2003/10/17(金) 10:13
すみません、
ActiveWindow.PageFromName = myPage
が、抜けていました。
Public Sub ZoomAllPages()
Dim myPage As Visio.Page
For Each myPage In ThisDocument.Pages
ActiveWindow.PageFromName = myPage
ActiveWindow.Zoom = 1#
Next
End Sub

04: 名前:Qちゃん投稿日:2003/10/17(金) 12:05
yodaさん
ありがとうございました!!
頑張って「全体を表示」にチャレンジしているのですが、
ぜんぜんわかりません( ・_;)
ズーム率は100%=1なのですか……?
めちゃくちゃ初心者でスミマセン…

05: 名前:yoda投稿日:2003/10/17(金) 15:47
DoCmd を使うと良いと思います。
詳しくは、
管理人さんの講座を参照すると、
良いと思います。
http://www.mster.co.jp/visiosquare/course/02/index01.html [source] [check]

Public Sub ZoomAllPages()
Dim myPage As Visio.Page
For Each myPage In ThisDocument.Pages
ActiveWindow.PageFromName = myPage
Application.DoCmd visCmdViewFitInWindow
Next
End Sub

06: 名前:Qちゃん投稿日:2003/10/17(金) 15:59
yodaさん

ありがとうございました。
感動しました。
頑張って勉強します!!

07: 名前:yoda投稿日:2003/10/17(金) 17:51
これは、私の勉強ですが、
ViewFit を使っても、出来ます。
Application.DoCmd visCmdViewFitInWindow
の代わりに、
ActiveWindow.ViewFit = visFitPage
ViewFitプロパティについては、
VBAのHELPに詳しく説明されています。

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



377: 相対セルを絶対セルに変換  全レス

01: 名前:初心者投稿日:2003/10/17(金) 12:15
相対セルを絶対セルに変換する方法は、F4キーは知っていますが、100個のセルを変更するのは大変です。マクロか、もしくは、簡単な方法で、相対セルを絶対セルに変換する方法を教えてください。

02: 名前:yoda投稿日:2003/10/17(金) 16:01
Visioにも、相対セル・絶対セルが、
あるのですか?
Visio2000のHelpで、
検索してみたのですが、
分りませんでしたので...

03: 名前:初心者投稿日:2003/10/17(金) 17:32
すみません。EXCELです。お手数かけました。

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



378: 単位の設定方法について  全レス

01: 名前:るり投稿日:2003/10/13(月) 13:07
こんにちは,
いつもお世話になっています。

質問があるのですが
自分が作ったセルに単位を与えたい場合はどうしたらよいのでしょうか?

例えばPageのプロパティセルをつくり
Prop.Aと名前を付けるとします。
ここにVBなどから値をいれる場合は
以前質問した際に
set oPage=ActivePage
oPage.PageSheet.Cells("Prop.A").Result(0)=text1.txt
とすればいいことを教わり、それを利用してきているのですが、
ここでProp.Aに数値が入ったら自動的に単位をつけて読み込む
用にしたいのです。
例えば単位をMにしたかったら、先ほどのResult(0)を
Result(visMeters)にすれば可能ですよね?
でもVisioにない単位、例えば円などにするときは
どうしたらいいのでしょうか?
過去スレッドやヘルプの単位についてをみてみたのですが、
方法がわかりませんでした。

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

02: 名前:yoda投稿日:2003/10/14(火) 09:45
分りませんが、多分、出来ないと思います。
ユーザー定義セルを追加すれば、
セルに名前が付けられるので、
その名前か、または、データに、
ユーザー独自の単位を登録する
という方法もあるかも知れません。

03: 名前:るり投稿日:2003/10/14(火) 19:16
yodaさん、お返事ありがとうございます。

そうなんですか・・・・


それでは、基本的なことを聞いてもよろしいでしょうか?
Visioであらかじめあるセルの中には単位を入力しないと
インチ単位で表示するものがあると思うのですが、
自分でユーザー定義セルを作成した場合
そのセルには単位も何もなく数値を入れたらそのまま
認識されるのでしょうか?

単位設定ができなくても、
自分の入力した数値を勝手にVisioが単位変換して表示したりすると
困るので、そのあたりのことが知りたいです。

04: 名前:yoda投稿日:2003/10/14(火) 19:29
ユーザー定義セルを使用する場合は、
そこにデータがあるだけです。
あとは、プログラムで、要求に合わせて、
工夫すると良いと思います。

05: 名前:るり投稿日:2003/10/14(火) 22:06
わかりました。
疑問なことが解決できてよかったです。
yodaさん、ありがとうございました!

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



379: モーダルフォームのエラーについて  全レス

01: 名前:るり投稿日:2003/10/10(金) 20:17
こんにちは!
いつも大変お世話になっています。

今、フォームの上のコマンドで別のフォームを
よびだすプログラムを書いたのですが
次のようなエラーがでて解決できずに困っています。
「モーダルフォームが表示されているときは
モードレスフォームを表示できません」

ヘルプを使ってしらべてみると
Closeメソッドなどを使うのかなと思ったのですが、
例をみてもバルーンの使い方がよくわかりません。

どなたかもう少し分かり易くアドバイスをしていただけないでしょうか?
こんな質問で申し訳ありません。
よろしくお願いします

04: 名前:るり投稿日:2003/10/11(土) 16:44
yodaさん、BOBさん
早速のお返事ありがとうございます。

自分のなかでそうした認識がなく使っていたので
原因のかたちみたいなものが少し見えてよかったです。

で思ったのですが、この問題を解決するためには
最初のフォームをモードレスにすればいいということですが
それはどうすればいいのでしょうか?

最初のモードレスにしたいフォームを
frmAとおくと
frmA.Show modeless
とかけばいいのでしょうか?

教えていただけないでしょうか?
よろしくお願いします。

05: 名前:yoda投稿日:2003/10/11(土) 16:59
vbModeless です。
詳しくは、VBA Help の Show メソッドを
見てください。

06: 名前:るり投稿日:2003/10/12(日) 00:44
yodaさん
お返事ありがとうございます。

さっそくヘルプをみて試しに以下のようにプログラムを
なおしてみました。

frmAというのはコマンドボタン1があるフォームの
名前です。
Pulic Sub Command1_Click()
frmA.Show vbModeless・・・この部分を追加
 'readTimeを呼び出す
 ’するとfrmBという別のファームが呼び出される。
Call readTime
end sub

するとこんどは追加したfrmA〜のところに
同じエラーがでてしまいました。

同じエラーがでるということは
この書き方ではまずいということだと思うのですが・・・

何か足りないのでしょうか?
アドバイス、よろしくお願いします。

07: 名前:yoda投稿日:2003/10/12(日) 08:59
@ 確認したいのですが、
  frmAがfrmAを呼び出しているようですが、
  それでよいのですね。

A これは、今は、
どうでもいいのですが、
コマンドボタン1のProcは、
   VBAでは普通、Privateです。
Private Sub CommandButton1_Click()
frmA.Show vbModeless
End Sub

B 最初にfrmAを表示するときには、
  どのように、していますか?
  たとえば、別のProcを作り、
  そこから、モードレスで、表示すれば、
コマンドボタン1を押したとき、
frmAがfrmAを呼び出していても、
  少なくとも、
CommandButton1_Click の、
frmA.Show vbModeless では、
エラーは、発生しません。

例(最初にfrmAをモードレスで表示するProc)
Sub test()
frmA.Show vbModeless
End Sub

08: 名前:るり投稿日:2003/10/12(日) 10:55
yodaさん、お返事ありがとうございます!

@ について
frmAはVisioのPageのActionセルを利用して呼んでいます。
私がエラーがでて困っていたのはそのfrmA上のコマンドボタンを
クリックして別のfrmBというフォームを呼び出すときです。
言葉たらずで申し訳ありません。
frmAがfrmAをよびだしたいわけではないです。A について
Privateだとは知りませんでした。
教えていただいてありがとうございます!

B @にも書いてしまったのですが
はじめのfrmAはVisioPageのActionで
Callthisを使って呼び込んでいます


@については私の説明不足でした
本当にもうしわけないです。
今困っていることについて書き直してみたので
引き続きアドバイスをいただけたらと思います
よろしくお願いします。

09: 名前:yoda投稿日:2003/10/12(日) 11:40
シェイプシートに書き込んだ、
CallThis の文を、
お示しいただけませんか?

10: 名前:るり投稿日:2003/10/12(日) 13:08
yodaさん、お返事ありがとうございます!

私は次のように書いています。
CallThis("vltest")

不要かもしれませんが、vltestは下の
ような内容になっています。
public sub vltest(opage as object)
frmA.show
end sub

これでfrmAを呼び出しています。
ここからコマンドボタンをクリックして
frmBを呼び出すようにしています。

アドバイス、よろしくお願いします。

11: 名前:yoda投稿日:2003/10/12(日) 13:31
public sub vltest(opage as object)
frmA.show vbModeless
end sub
と vbModeless を追加すれば、
よいと思います。

12: 名前:るり投稿日:2003/10/12(日) 18:08
yodaさん、お返事ありがとうございます。

できました!!
ものすごく感動です・・・・
色々丁寧に教えていただいて、本当にありがとうございます。

今回初めてモードレスエラーみたいのがでましたが
おかげさまで解決と同時にいろいろ知れて大変勉強になりました。

アドバイス本当にありがとうございました!!

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



380: URLのイメージファイルを貼り付ける方法  全レス

01: 名前:YK投稿日:2003/10/04(土) 00:07
こんにちは。YKです。

URLのイメージファイルをActivePageに貼り付ける方法がわかりません。

お手数をお掛けしますが、ご教授よろしくお願い致します。

02: 名前:yoda投稿日:2003/10/04(土) 03:17
私は、やったことはないのですが、
AddHyperlink ではいかがでしょう?
HELPにサンプルがあるようですが?

03: 名前:yoda投稿日:2003/10/05(日) 13:31
AddHyperlink では、だめなようですね。
excelでは、簡単にできるので、
以下のようにしてはいかがでしょう。

Dim xlApp As Object
Set xlApp = CreateObject("excel.application")
xlApp.Visible = True
Workbooks.Add
Range("C5").Select
ActiveSheet.Pictures.Insert("http://img.yahoo.co.jp/images/main8.gif").Select
Selection.Copy
xlApp.DisplayAlerts = False
xlApp.Quit
xlApp.DisplayAlerts = True
Set xlApp = Nothing
ActivePage.Paste

前もって、参照設定でExcelのオブジェクトライブラリー
を追加しておく必要があるかもしれません。

04: 名前:YK投稿日:2003/10/09(木) 00:08
yoda様、サンプルソースで正常に動作しました。
ありがとうございます。

Excelを起動しない方法はありませんか?

05: 名前:yoda投稿日:2003/10/09(木) 02:17
xlApp.Visible = True
の行を消せば、
あたかも、excelが起動しない
ように見えます。

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


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