- 01: 名前:アル投稿日:2007/02/21(水) 10:17
- OS:XP , ソフト:VISIO 2000 SR1
いつもお世話になっております。
新規でマスタシェイプを作成し、シェイプのページ上に、ページサイズと同じサイズの画像を描画しています。
実現したい処理はカスタムプロパティに指定するパスを変更する度に、パス指定先の画像を描画したいのです。
画像のカスタムプロパティ(Prop.Row_1)にファイルのパスを指定します。
ユーザ定義セル(User.Row1)にCALLTHIS("aaa",,Prop.Row_1)を定義しています。
現在の状況ですが、「このアクションには不適切はターゲットオブジェクトです。」というオートメーション エラーが出ます。
プロシージャの中身を下記に書いておきます。
Public Sub aaa(shpObj As Visio.Shape, strPath As String)
Dim a As Visio.Shape
Set a = shpObj.Import(strPath)
End Sub
解決方法をご存知の方がいらっしゃいましたら、御教示ください。
宜しくお願い致します。
- 13: 名前:名無しさん投稿日:2007/02/21(水) 15:57
- すみません。HELPなどを調べても解決できません。
カスタムプロパティの値(ファイルパス名)を、シェイプに表示させるという意味もわからず。
昨日から時間をかけすぎており、少し焦っていて、こういった解決の仕方では勉強にならないのはわかっておりますが、もう少し御教示ください。
宜しくお願い致します。
- 14: 名前:yoda投稿日:2007/02/21(水) 15:58
- >これだけで、マクロが起動します。
本当だ!起動するのですね。はじめて知りました。
勉強になりました。
- 15: 名前:yoda投稿日:2007/02/21(水) 16:01
- 13は忘れてください。14でいいですよ。
Set a = ActivePage.Import(strPath)は、Set a = が不要です。
- 16: 名前:yoda投稿日:2007/02/21(水) 16:03
- 括弧も不要、と言うより、この場合、あるとエラーになると思います。
- 17: 名前:名無しさん投稿日:2007/02/21(水) 16:09
- ということはyoda様は、私の実現したい処理が出来ているのですね。
私の実力では、CallThisに行き着くのが精一杯でしたので。
ActivePage.Import(strPath)もやっておりますが、エラーが取れないので、恐らくは10、11が出来てないのでしょう。
フィールドに画像をImportするような処理かなとか考えてますが・・・。難しいです。
- 18: 名前:名無しさん投稿日:2007/02/21(水) 16:12
- >ActivePage.Import(strPath)
ActivePage.Import strPathの間違いでした。すみません。
それでもエラーが出ますね。テキストフィールドでしょうか。
- 19: 名前:名無しさん投稿日:2007/02/21(水) 16:27
- 画像を表示する事が出来ました。ありがとうござました。
しかし表示した画像にカスタムプロパティが表示されていませんでした。当たり前の話ですが。
Importする画像にカスタムプロパティを作り、設定できるのか、今から調べなければいけません。
この状態ですと完成するまでに時間がかかりそうですので、処理自体の方法を考え直してみます。
時間をかけて御教示いただき本当にありがとうございました。
- 20: 名前:yoda投稿日:2007/02/21(水) 16:30
- テキストフィールドは、シェイプに表示されたテキストをテキスト
ツールで消して、ください。そして14に戻ってください。
CallThisは、ユーザ定義セル(User.Row1)に
CALLTHIS("aaa",,Prop.Row_1)で、OKです。
- 21: 名前:アル投稿日:2007/02/21(水) 16:39
- 何とか意図した動きになってきました。
後は、表示した画像にカスタムプロパティを作る??事が出来れば良いのですが。
その後にカスタムプロパティにVBAから必要なデータなどを設定したら完成です。
■トップに戻る リロード 全レスを表示
|