KoMaDo   VISIO SQUARE : VB/VBA  ■ Headline ■ HOME    

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

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)  411 :SVGコンバータforVisioをVBAから動かすことができるでしょうか?(03)  412 :ステンシルへの追加(04)  413 :VBAで複数ファイル取得(04)  414 :VBでVISIOのイベントを取りたい(01)  415 :初心者(01)  416 :ツールバーにオリジナルボタンを追加する(01)  417 :ページの挿入位置(13)  418 :全画面表示中にマクロを実行させたい(06)  419 :アクティブドキュメントについて(02)  420 :アドオンからスレッドを起こした場合の動作(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 次のページ  総てのスレッド  スレッド総数 696381 - 390 を表示


381: 要求された操作は実行できません  全レス

01: 名前:名無し投稿日:2003/09/23(火) 16:47
こんにちは、VBAに関する質問なのですが、どなたかお願いします。
変数の値によって表示させるフォームを切り替えたいのですが、
下のコードを実行するとForm1が表示されっぱなしになります。
コードを一行ずつ実行するとForm1を呼び出してCloseした後で
「要求された操作は実行できません」
というエラーが出て、フォームが表示されっぱなしになります。
やりたい事はフォームの移行なのですが、どのように実現したら良いのでしょうか?
宜しくお願いします。

Sub ttest()
Dim x As Integer
Do
x = gFormset' gFormsetはグローバル変数
Select Case x
Case 1
UserForm1.Show
Case 2
'何もしない
Case 3
UserForm3.Show
End Select
Loop Until x = 0
End Sub

02: 名前:yoda投稿日:2003/09/23(火) 19:28
これでは?
Sub test(x As Integer)
Select Case x
Case 0
UnloadAllForms
Case 1
UnloadAllForms
UserForm1.Show vbModeless
Case 2
'何もしない
Case 3
UnloadAllForms
UserForm3.Show vbModeless
End Select
End Sub
Sub UnloadAllForms()
Dim frm As Object
For Each frm In UserForms
Unload frm
Next
End Sub

03: 名前:名無し投稿日:2003/09/24(水) 09:26
ありがとうございました。
うまく行きそうです。

04: 名前:名無し投稿日:2003/10/02(木) 20:44
再度質問なのですが、yodaさんに指摘して頂いたやり方だと一度フォームを表示させるだけの場合は良いのですが、
グローバル変数の値によってまた違うフォームを開きたい場合にうまく行きません。
グローバル変数にゼロが設定されるまでフォームを切り替えて表示させたいのですが、
フォームの表示をModeless状態で設定するとUnloadとShowの処理が繰り返されれてしまうようです。

Option Explicit
Public gForm As Integer
Const gUnload = 0
Const gLoad1 = 1
Const gLoad2 = 2
Const gLoad3 = 3
Const gLoad4 = 4

Sub t()
callForm 1
End Sub

Sub callForm(x As Integer)
gForm = x
Do
Select Case gForm
Case gFormUnload
UnloadAllForms
Case gFormLoad1
UnloadAllForms
UserForm1.Show vbModal
Case gFormLoad2
'何もしない
Case gFormLoad3
UnloadAllForms
UserForm3.Show vbModal
Case gFormLoad4
UnloadAllForms
UserForm4.Show vbModal
End Select
Loop Until gForm = gUnload
End Sub

Sub UnloadAllForms()
Dim frm As Object
For Each frm In UserForms
Unload frm
Next
End Sub

フォームの処理でグローバル変数を設定します。
根本的な所が分かっていないのですが、何が間違いなのかご指摘頂けませんでしょうか?

05: 名前:yoda投稿日:2003/10/03(金) 04:44
名無しさんの場合、Doループでまわして
おられるので、フォームの消去と表示を、
繰り返すことになるのではないかと思います。
フォームを切り替えるところは、
グローバル変数が変わったときに、
別の変数に置き換えて渡し、
切り替える命令は、一度だけ出すように、
お考えになっては、いかがでしょうか。

06: 名前:yoda投稿日:2003/10/03(金) 09:51
Doループでまわしていても、望みのフォーム
(frm.Captionでフォーム名を検出)が、
既に表示されていれば、なにもしない。
という風にしても、よいと思います。
でも、常時Doループをまわし続けるのは、
資源の浪費になり、他の処理に
影響するのはないでしょうか?

07: 名前:名無し投稿日:2003/10/06(月) 10:04
レスありがとうございました。
VBの根本的な所が良く分かっていないのですが・・・
私が考えていたやり方では目的の動作が達成できないようなので、
グローバル変数ではなくて、showとhideでフォームの表示を切り替える事にしました。

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



382: pdfファイルへ出力  全レス

01: 名前:rumi投稿日:2003/09/17(水) 18:07
「印刷」ダイアログの「ファイルへ出力」コマンドで
Adobe Distillerを使用してpdfファイルを作成できますよね。
これをVBAから行なうことはできないでしょうか。
Visio2002 + Acrobat 5.0を使用しています。
※Visio2000でも行なえるとなおありがたいです。

02: 名前:yoda投稿日:2003/09/17(水) 23:42
自分で確かめた訳ではありませんが
ここがご参考になりそうです。
http://www.terra-intl.com/pdf.html [source] [check]

03: 名前:なか投稿日:2003/09/18(木) 08:38
↑の方法でいけそうです。
但し、Visio2000では駄目そうです。
(理由:ActivePrinterプロパティが2002からしか用意されていないから)

04: 名前:rumi投稿日:2003/09/19(金) 15:31
アドバイスありがとうございます。

Excel VBAでは↑の方法でできたのですが
Visioではできませんでした。
「印刷中」のプログレスは表示されるのですが
その後 保存先選択のダイアログも表示されませんし
ファイルも作成されないのです。

ちなみにこのようなコードを書きました。

Dim objDoc As Visio.Document
Dim objPage As Visio.Page
Dim objTemp As Object
Dim strRet As String

Set objDoc = ThisDocument
Set objPage = ActivePage
objDoc.Printer = "Acrobat Distiller"
Set objTemp = objPage
strRet = objTemp .Print

Distillerの設定は以下のようにしています。
 Distillerへフォントを送信しない … OFF
 AcrobatでPDFを表示 … ON
 PDFファイルの保存先を確認 … ON
 成功したジョブのログファイルを削除 … OFF
 既存のPDFファイルの上書きを確認 … ON

Visio2000ではやはりダメですか…。
ActivePrinterに替わる何かがあればと思ったのですが。

05: 名前:yoda投稿日:2003/09/20(土) 15:12
私の場合、Visio2000ですが、
Acrobatがないので、
redmonとgs8.0の組み合わせで、
rumiさんの場合と少し違いますが、
その組み合わせに使うプリンタを
通常使用する、にしておけば、
VisioHELPのprintメソッドの、
例にあるコード

Dim docObj As Visio.Document
Dim docObjTemp As Object
Dim dummy As String
Set docObj = ActiveDocument
Set docObjTemp = docObj
dummy = docObjTemp.Print

で、PDF出力できますので、
私には、よく分りませんが、
VB6.0か、API で、プリンタの設定を
通常使用に切り替えることが出来れば、
(これはもうVisioの話題ではないのですが)
rumiさんの場合も解決するのでは
ないかと思います。

06: 名前:rumi投稿日:2003/09/24(水) 14:21
yodaさん、ありがとうございます。

お客さんがDistillerを使いたい&ghostを諾としないので
姑息ですがSendKeyを使って
印刷のショートカットキーをVisioに送ることにしました。
根本的な解決にはなっていませんが
そこそこ動作します。(苦笑)

ghostではできるというのがわかりましたので
別の機会に使わせていただこうと思います。

本当にありがとうございました。

07: 名前:rumi投稿日:2003/09/24(水) 14:25
追伸:
プリンタの設定は、仰る通りAPIで行なおうと思います。

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



383: グラフを描く手段について  全レス

01: 名前:るり投稿日:2003/09/18(木) 15:57
こんにちは。

いつも勉強させてもらっています。

今VBで次のようなグラフを書きたいと考えています。

よくある直交座標のグラフで
テキストボックスからx軸の値とy軸の値を
入れると
座標上にその点がプロットされるものです。
(これをVisioと繋ぐことでVisio画面上でいつでも
みれるようにしたいと思っています。)


ためしにVisioのマクロを開いたのですが
ツールボックスの中にPictureBoxがなく、
どうしたらよいのか、困っています。
(その他のコントロールで全部追加してさがしても
見当たりせんでした。)

上記のようなグラフをかくときには
どういった方法があるのでしょうか?

何か良い本やサイト、もしくは
みなさんからのアドバイス 等
教えていただけないでしょうか?

よろしくお願いします。

02: 名前:yoda投稿日:2003/09/18(木) 16:36
自分でしたことはないのですが、
Visioにはグラフ用のシェイプやテンプレート
がありますので、それを使うのも
一つの代案かも知れません。

03: 名前:るり投稿日:2003/09/22(月) 03:04
yodaさん、お返事ありがとうございます。

ためしに本を参照して、使ってみたのですが、
やはり思うような結果が得られません。

CAD図面上に常に(好きなときにでもいいのですが)
図面情報を数値化したものをグラフにして表示させたいので
やはりVBかなぁ〜と思ったりします・・・・

でも勉強になりました!
ありがとうございます!!

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



384: VBAだと動かないのは?  全レス

01: 名前:るり投稿日:2003/09/11(木) 16:28
こんにちは。
いつも勉強させていただいています。

質問があるのですが・・・・
エクセルをそのまま呼び込もうと
色々とみながら次のようなプログラムを書いてみました。

VBで動くことを確認し、
「ではVisioに!!」と思って書いてみると、
xlFileName = Application.Path & "\リスト.xls"
の部分で
「オブジェクトがありません」
というエラーがでてしまいました。
そこで"\リスト.xls"の¥のまえにデータの保存している
場所のアドレスを入れてより詳しく(したつもりです・・・)
しても同じエラーがでてしまいます。

原因は一体なんなんでしょうか?
どなたか、教えていただけないでしょうか?
よろしくお願いします。

Private Sub CommandButton1_Click()
'■選択
':xlSheetの選択

'(準備)-----------------------------------
'TextBox1のProperty
'MultiLine = True
'ScrollBars = vbBoth
'-----------------------------------------
Dim DB As Database
Dim Tbl As TableDef
Dim xlFileName As String

TextBox1.Text = ""

':読込xlFileを開く

xlFileName = Application.Path & "\積算ポケット.xls"

Set DB = OpenDatabase(xlFileName, False, False, "Excel 8.0;HDR=NO;")


For Each Tbl In DB.TableDefs
If Tbl.Attributes And dbSystemObject Then
Else
TextBox1.Text = TextBox1 & Tbl.Name & vbCrLf
End If
Next Tbl


DB.Close
Set DB = Nothing
End Sub

02: 名前:るり投稿日:2003/09/11(木) 16:31
訂正です・・・

上のところで、
積算ポケットとなっていますが、
実際はリスト.xlsでプログラムは動いています・・・

文章とプログラムが一致してなくて申し訳ないです・・・

すみませんでした・・・

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

03: 名前:なか投稿日:2003/09/12(金) 08:45
xlFileName = Application.Path & "\リスト.xls"
には特に問題ないような気がしますが、
本当にこの行でエラーが発生したんですか?
(ステップ実行とかしましたか)
それから、Application.Pathと書くと
VBでは作成した実行ファイルのパスとなりますが、
VBAだとVisioの実行ファイルのパスとなりますが良いのですか

04: 名前:るり投稿日:2003/09/18(木) 14:17
なかさん、お返事ありがとうございます。

なかさんのアドバイスを見て、
色々と調べて試してみたのですが、
残念ながらうまくいきませんでした・・・・・

でも、調べていくなかでCSV形式ならうまくいくことが
分かり、そちらでやることにしようかな?
と思います。

なぜ
xlFileName = Application.Path & "\リスト.xls"
で動かないのか結局今は分からずじまいですが
使い慣れるうちにわかるかな?
と思いました。

なかさん、アドバイスありがとうございました!

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



385: 文字の書式セクションにRowを追加  全レス

01: 名前:佐々木 投稿日:2000/07/06(木) 15:06
こんにちは。

文字の書式セクションにRowを追加させるにはどうしたらよいのでしょう。
Visioの操作では文字列の一部を選択してフォントなりを変更すると、勝手に行が増えます。
これと同じことをVBAで行いたいのです。

以前の質問で、シェイプシートの情報を取得する方法について質問しました。
文字の書式セクションの情報も、全Rowについて取得できたのですが、
今度はそれを戻すことが上手くできません。

Charactersオブジェクトをいじるように思うのですが、どーもよく分かりません。
ご存じの方がいらっしゃったらご教授お願いします。

02: 名前:YASU投稿日:2003/09/13(土) 14:24
私も同じところでハマッています。
私は、VBAで文字列の一部のフォントを変更したいのですが、
そのためには、文字の書式セクションにRowを追加させることが必要みたいです。
どなたかご存知の方、お知恵を貸してもらえないでしょうか?

03: 名前:yoda投稿日:2003/09/14(日) 08:53
マイクロソフトのサイト、
http://www.microsoft.com/japan/developer/library/visio/DVS_17_Automating_formulas813.htm [source] [check]
を見たら、以下のように書いてありました。
出来ないのでしょうね。

注 visSectionCharacter、visSectionParagraph、
visSectionTextField、または visSectionTab
セクションに行を追加したり、これらのセクション
から行を削除することはできません。

DeleteRawメソッドのHELPには、注意書きが
ありますが、Addrowには書いてないですね。

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



386: 変数のやりとりについて  全レス

01: 名前:るり投稿日:2003/09/04(木) 18:02
こんにちは。
いつも勉強させてもらっています。

今、VBでつくったプログラムとFormをVisioに読みこみ
Visio上でボタンクリックなどができるようにしたものを
つくりました。

そしてさらに、VBのほうで
dim strCost as String
と設定したstrCostの値をVisioのPageのShapeSheetにつくった
Prop.Costというセルの中に読み込もうと思い、

sub test
Dim oPage as Visio.Page
Dim strCost as String

set oPage=ActivePage
oPage.PageSheet.Cells("Prop.Cost")=strCost

end sub

とプログラムを追加して書いてみました。

が、oPage.PageSheet〜のところで型が一致しないというエラーが
でてしまいました。
言われると確かに・・・・かたやStringだな・・・と思うのですが、
ではどうしたらうまく読み込めるでしょうか?

どなた、良い方法やサイトをお知りでしたら
教えていただけないでしょうか?

よろしくお願いします

02: 名前:yoda投稿日:2003/09/04(木) 20:32
Cellオブジェクトに、Resultプロパティを使えばできると思います。

03: 名前:るり投稿日:2003/09/05(金) 11:09
yodaさん、お返事ありがとうございます。

早速試してみようとおもい、次のように書きなおしてみました。

sub test
Dim oPage as Visio.Page
Dim oCell as Visio.Cell

Dim strCost as String


set oPage=ActivePage
set oCell=oPage.PageSheet.Cells("Prop.Cost")

oCell.ResultStr=frmCost.TextBox5.Text

end sub

するとoCell.ResultStr=frmCost.TextBox5.Textのところで
値を指定して取得することはできませんとエラーが出てしましました。

ResultプロパティはVisioセルの結果をVBに取り込むときに使うと
ヘルプにあるところをみると、私のやりたいことと逆なのでは?
と思ったのですが・・・・どうでしょうか?

実際、動かしてfrmCost.TextBox5.Textをしらべると、ここには
きちんと値が降りてきているし、
frmCost.TextBox5.Text=oCell.ResultStr(Visio.visNone)とすると
きちんとテキストボックスの中にかかれています。
またoCell=690と試しにうつときちんとセルの中にかかれています。

ExcelのデータをVbで文字列として読み込み、Vb上で選択したものを
Visioのセルに入れたいので、どうもResultではうまくいかないのかな?
と思いました。

テキストボックスの値(strCost)をセルに読み込むためには
どんな方法があるのでしょうか?

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

04: 名前:なか投稿日:2003/09/05(金) 11:15
ResultStrプロパティは読み取り専用プロパティです。
Resultプロパティを使用するようにしてください。

oCell.Result=frmCost.TextBox5.Text

こんな感じ

05: 名前:yoda投稿日:2003/09/05(金) 11:25
テキストボックスにどのような文字列が
書いてあるのかわからないのですが、
他には、Formulaプロパティがあります。
ただ、(数式ではない)文字列を読み込む前に、
引用符をもう一組追加し、ダブルコーテーションに
する必要があります。
文字列が、数字だけなら、
HELPをご覧になったと思いますが、
貨幣単位も扱えるので、Resultの方が、
向いていると思います。

06: 名前:るり投稿日:2003/09/05(金) 11:41
なかさん、yodaさん
お返事、ありがとうございます!!!

うまくいきました!!!(嬉)

思い込みって問題ですね・・・
私はstrCostと文字列で設定してたので、てっきり
VisioのResultプロパティのヘルプを読み、そのなかにあった
ResutStrのところに目が移ってしまいました・・・・
(おっちょこちょいでお恥ずかしい限りです)

yodaさん、なかさんのアドバイスのおかげでうまくいき、
本当に感謝しています。

本当にありがとうございました。
大変勉強になりました!

07: 名前:るり投稿日:2003/09/10(水) 12:58
もうひとつ質問してもよろしいでしょうか?

アドバイスのおかげで
うまく数値を呼び込むことはできたのですが、
欲張り、こんどは文字を呼び込めないかな?と思い、
以下のように色々試してみた

TextBox4.Textには"サイズ@"という文字が呼び込まれています。
これをVisioのCellの中に先ほどと同様に入れたいと思います。

oCell.Result(0)=frmCost.TextBox4.Text
これで数値を呼び込めたので試してみたのですが、
「型が一致しません」とエラーがでました。
ヘルプを再度読むとResultは浮動小数点数を返すとあったので
だから数字=文字というように型が合わないのかな?と
思い、
次にyodaさんのアドバイスにあったFormulaはどうかな?
と思い、

oCell.Formula(" 0 ")=TextBox4.Text

oCell.Formula("" & 0 & "")=TextBox4.Text
(&をいれたのは無いと赤くなってエラーになったからです)
としてみたところ
「値の取得のみ可能なプロパティに値を設定することはできません」と
エラーがでてしまいます。
このエラーを見ると、
サイズ@といった文字を入れることができないようプロパティを設定
してしまっているのかな?とおもったのですが・・・・・

長々とすみません・・・・

良い方法などを知っていたら、
アドバイスお願いできないでしょうか?

よろしくお願いします。

08: 名前:yoda投稿日:2003/09/10(水) 13:57
oCell.Formula = """サイズ@"""
ではいかがでしょうか?

TextBoxのデータを、
ダブルコーテーションにするには、

Public Function QW(s As String) As String
QW = Chr(34) & s & Chr(34)
End Function
として、
oCell.Formula = QW(TextBox.Text)
とすればよいと思います。

09: 名前:るり投稿日:2003/09/10(水) 15:23
yodaさん、お返事ありがとうございました。

さっそくやってみたところ、
うまくいきました!!

ダブルコーテーションの振り方を
ここで初めて知ったので
大変勉強になりました。

色々教えていただいて
本当にありがとうございました!

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



387: connectオブジェクトの取得について  全レス

01: 名前:きら投稿日:2003/08/21(木) 18:36
connectオブジェクトについて相談させていただきたいことがあります。

ある図形に接続されているアローをfromsheetプロパティで取得できることが
分かったのですが、
その場合、取得したものはvisio.connectであり、visio.shapeではないので、
他のシェイプとの比較等の操作ができません。

例えば シェイプA(as visio.shape) = 取得したアローB(as visio.connect)としたい場合に、
実行時に”型が一致しません”ではじかれてしまいます。

visio.connectとして取得したものをvisio.shapeとして扱うようにできる方法があれば、
教えていただきたいのです。

問題をうまく表現できず、なんとも分かりにくい説明になってしまいましたが、
よろしくお願いします。

02: 名前:yoda投稿日:2003/08/21(木) 22:36
connectオブジェクトに対してfromsheetプロパティを使うと、
シェイプとしての、コネクタが返されるようですので、
たとえば、以下のようにしたらいかがでしょうか?
わたしも、勉強になりました。
Dim s As Visio.Shape, connector as visio.shape
Dim cs As Visio.Connects
Dim c As Visio.Connect
Dim n As String
Set s = ・・・・・(シェイプを割り当てる)
Set cs = s.FromConnects
Set c = cs(1)
Set connector = c.FromSheet

03: 名前:きら投稿日:2003/08/22(金) 14:20
ご指摘のとおり、うまくいきました!
fromsheetにこんな特性があるとは・・・・・。
visioを触り始めてまた一月ほどなので、
プロパティ関連の知識不足から
長い間詰まっていたところでした。本当に助かりました。
ありがとうございます。

04: 名前:yoda投稿日:2003/08/30(土) 15:37
HELPでは、Connectオブジェクトに関連する、記事が分散していて、
全体を把握することが難しかったので、オブジェクト(プロパティ)の
関連図にしてみました。ここにアップロードしました。
よろしかったらどうぞ。
http://www.mster.co.jp/visiosquare/cgi-bin/upload/image/059.lzh [source] [check]

05: 名前:きら投稿日:2003/09/01(月) 17:36
ありがとうございます。
とても参考になりました。
いろいろ試してみます!

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



388: Excelのデータの読込の方法について  全レス

01: 名前:るり投稿日:2003/08/21(木) 12:26
はじめまして、Visio初心者のるりと申します。

訳あって、突然Visioを勉強することになり、
しかも分からないことだらけの日々を送っています。
そこでみなさんの力をかして頂けたらと思い、投稿しました。

質問なんですが、
今Excelで商品のリストを作成しています。
それを基本データとしてVisioのオブジェクト情報に組み入れ
図面上にオブジェクトをドロップするために商品名を確認し、
確認したら自動的にコストをExcelから読み込むというものを
作成したいと考えています。

例えば
ある文具オブジェクトを図面上にドロップすると
確認の選択肢みたいのがでて、その中から
「パソコン」を選ぶと99000円を自動的にコストとして読み込む
といった感じです。

本当に初心者なので、どなたか分かり易く
良い方法を教えていただけたらと思っています。

よろしくお願いします。

02: 名前:るり投稿日:2003/09/01(月) 15:55
すみません。

同じような質問が下にあるの見つけました。

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



389: マスタシェイプのサイズの変更  全レス

01: 名前:匿名希望投稿日:2003/08/28(木) 09:16
はじめまして

マスタシェイプ内の文字の置換を行おうと考えています。
そこで置換前の文字数と置換後の文字数によっては
マスタシェイプの大きさによっては改行されてしまいます。

そこでマスタシェイプ内の文字数、フォントサイズを算出し
マスタシェイプの大きさを変更するマクロを考えています。

イメージ:
四角のマスタシェイプにaaaという文字列が入っている

---   aaaをbbbbbbに置換  -bbb-
|aaa|      →        | |
---                 -bbb-

と改行されるのを

---   aaaをbbbbbbに置換  ------
|aaa|      →        |bbbbbb |
---                 ------
とマスタシェイプのサイズを変更し改行されないようにしたい


宜しくお願いします。

02: 名前:なか投稿日:2003/08/28(木) 10:33
わざわざマクロを作らなくても
マスタシェイプのWidthに以下の式を設定すれば
入力文字によって幅が変更されます。
GUARD(TEXTWIDTH(TheText))

03: 名前:匿名希望投稿日:2003/08/29(金) 09:01
返事 遅れて申し訳ありません

なか殿
回答有難う御座いました
おかげでうまくいきました。
置換した時にフォントのサイズが
マスタシェイプのデフォルトになってしまう問題は残りましたが・・・・・ (汗

マクロを作ろうとしたわけですが
色々な線(オリジナル)を扱っています。
それ置換をする際にサイズの変更を応用できるかと思い
マクロを作ろうかと考えてみましたが・・・・・・・・・・
これはまた今度の機会にお願いします。

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



390: メニューに区切り線を付けたい  全レス

01: 名前:2002使い投稿日:2003/07/15(火) 15:58
どなたかご存知の方がみえたら教えてください。
Visio2000ではMenuItemオブジェクトのCaptionプロパティで"_"を設定すれば
メニュー項目に区切りを設定する事が出来たのですが、Visio2002では出来ないようです。
2002でメニューの項目に区切りを設定したい場合はどうしたら良いのでしょうか?

02: 名前:なか投稿日:2003/07/15(火) 16:11
MenuItemのBeginGroupプロパティにTRUEを設定すればでできるかと

03: 名前:2002使い投稿日:2003/07/16(水) 10:14
ありがとうございます。
参考になりました。

2002用のソリューション開発ガイドってどこかにあるのでしょうか?

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


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