KoMaDo   VISIO SQUARE : 雑談その他  ■ Headline ■ HOME    

雑談その他トップへ ▼カッ飛び最後 

  一度、旧バージョンとして保存するとよい話

01: 名前:yoda投稿日:2007/05/24(木) 17:47
エクセルのワークシートの、必要部分を、
エクセルのメニュー、編集、コピーで、取り込んで、
Visioの図面に、メニュー、編集、形式を指定して貼り付けで、
エクセルのワークシートとして、貼り付けます。
この、貼り付けたものを選択された状態にしておいて、
Visioのメニュー、編集、ワークシートオブジェクト、開く、
を行うと、貼り付けたワークシートがエクセルのファイルとして
開かれます。ここまでは、普通のことです。
ところが、開かれたエクセルを終了して、
再び、このワークシートオブジェクト、開く、の操作を行うと、
「エラー(1415)が、アクション”OLEオブジェクト”の実行時に発生しました。」
というエラーメッセージが出てしまう、ことがあります。
Visio2003では、3回に1回、Visio2007では2回に1回、必ず出ます。
この問題は、MSDNにも記事があるように、
いったん、Visio図面を、旧バージョン(Visio2002)として保存し、
再び開くと、治ります。このあとVisio2003やVisio2007として、
再び保存しなおしても、大丈夫です。
そのMSDの記事は、ここにあります。
http://support.microsoft.com/kb/829776 [source] [check]

02: 名前:yoda投稿日:2007/05/24(木) 19:52
ところが、この話には、まだ続きがあります。
いったんVisio2002で保存し、再び開いたあと、
数回はエラーになりませんが、
さらに続けて、繰り返すと、またエラーが出てしまいます。
こうなると、もういけません。
Visio2002で保存しなおそうが、なにをしようが、
エラーは、2回に一度出てしまうようになります。

03: 名前:yoda投稿日:2007/05/27(日) 21:09
このエラーはVBAでSendKeysを使って実行しても、同じようにでますが、
VBAコードの最後に、MsgBoxを置くと、全く発生しなくなります。
たとえば以下のようにです。
Sub OpenEandEditObject()

Application.ActiveWindow.Activate
Dim shp As Visio.Shape
Set shp = ActivePage.Shapes(1)
ActiveWindow.Select shp, visSelect
SendKeys "%E", True
SendKeys "O", True
SendKeys "O", True

MsgBox "Pess OK Button."
End Sub


雑談その他トップへ ▲カッ飛び先頭