- 01: 名前:A&Y投稿日:2006/09/19(火) 15:11
VBAでカスタムプロパティに値を設定しているのですが、うまくいきません。
環境はVisio 2000 SR1、Windows XP Professional
カスタムプロパティにProp.Rを設定しています。設定値は、Labelに"線種"、Typeに1、Formatに"通常;点線"、Valueに"通常"、他はNo Formulaです。
ユーザー定義セルにUser.Rを設定していて、Valueに、LOOKUP(Prop.R,Prop.R.Format)、Promptに"線種"です。
線の書式のLine Patternに、GUARD(IF(User.R=0,1,IF(User.R=1,9,1)))を設定しています。
VBAのコードです↓(該当部分のみ)
If size1 = 0 Then
shpObj.Cells("Prop.R.Value").Formula = "" & 通常 & ""
Else
shpObj.Cells("Prop.R.Value").Formula = "" & 点線 & ""
End If
過去ログを検索し色々試してみたのですが、Prop.RのValueの値が"通常"のまま変わらず、VBA実行後も線種が変わりません。
VBAの処理の中で線種を変更したいのですが、うまく出来ずこの状態で行き詰っています。
わかる方がいらっしゃいましたら、教えて頂けないでしょうか。宜しくお願い致します。
- 02: 名前:yoda投稿日:2006/09/19(火) 15:33
- シェイプシートのセルに入れる文字情報は、
セルにある状態で、引用符が着いていなければ
なりません。そのためには、マクロの中では、
もう一重の引用符が必要で、そのためには、
"""" & "通常" & """"
とします。貴殿の記述は一見よさそうですが、
実は正しくないのです。頻繁にする場合は、
これではたまりませんので、簡単な関数を
作って使います。
shpObj.Cells("Prop.R.Value").Formula =QW("通常")
Public Function QW(s As String) As String
QW = Chr(34) & s & Chr(34)
End Function
- 03: 名前:A&Y投稿日:2006/09/19(火) 15:44
- yoda様、早速のお返事ありがとうございます。
御指摘の通り実行してみたところ、希望通りの処理が出来ました。
ありがとうございました。
Visioを扱い始めて1週間とまだまだ初心者です。勉強が足りないなと実感してます。
引用符の使い方等、難しい所がありますが、頑張っていきますので、今後も御指導のほど宜しくお願い致します。
- 04: 名前:削除されました投稿日:削除されました
- 削除されました
■トップに戻る リロード 単独スレ表示
|