[[20080703143105]] 『マクロでリンク解除後の印刷』(公務員) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロでリンク解除後の印刷』(公務員)
 AAファイルとBBファイルがあって,AAファイルはBBファイルからリンク
 しています。
 それで,リンクを解除して,AAファイルのシートを印刷するのに

 Sub Macro1()
    ActiveWorkbook.BreakLink Name:= _
        ThisWorkbook.Path & "\BB.xls", Type:= _
        xlExcelLinks
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 End Sub

 のようなコードを作りました。

 そうして,マクロを実行すると,初めはリンクが解除されて,うまく印刷されます。
 しかし,ファイルを上書き保存後,もう一度マクロを実行して,シートを印刷しよう
 とするとエラーになってしまいます。
 たぶん,最初にリンクを解除するコードが書かれてあるのに,上書き保存後は,
 既にリンクが解除されているので,マクロを実行する対象がなくてエラーになって
 しまうのだと思います。

 「リンク解除→印刷」というマクロをボタンに登録し,上書き保存後も同じボタンで
 エラーが出ることなく印刷できるようにしたいのですが,できますでしょうか?


 リンク解除  何のために????

 乱暴ですが でリンク解除を失敗しても無条件で処理を継続させるとか?
 On Error Resume Next
 ActiveWorkbook.BreakLink Name:= _
     ThisWorkbook.Path & "\BB.xls", Type:= xlExcelLinks
 Err_No = Err.Number
 On error goto 0
 if Err_No <> 0 then msgbox "リンク解除に失敗しました"
 等ですか?
 (力技)

 ありがとうございます。
 訳も分からず,下のようなコードを作ってみましたが,
 前半の「リンク解除→印刷」はうまくいきましたが
 後半の「リンク解除失敗しても→印刷」の部分がうまくいきませんでした。

 Sub Macro1()

 ActiveWorkbook.BreakLink Name:= _
        ThisWorkbook.Path & "\BB.xls", Type:= _
        xlExcelLinks
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

 On Error Resume Next
 ActiveWorkbook.BreakLink Name:= _
     ThisWorkbook.Path & "\BB.xls", Type:=xlExcelLinks
 Err_No = Err.Number
 On Error GoTo 0
 If Err_No <> 0 Then
 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

 End If
 End Sub

 たぶん,前半の「リンク解除→印刷」と後半の「リンク解除失敗しても→印刷」
 をIF関数みたいにつなげればうまくいくと思うのですが,つなげ方がよく分からない
 ので教えてください。

 (公務員)

 Sub Macro1()
 'エラーになっても無視」を宣言
 On Error Resume Next
 'リンクの解除
 ActiveWorkbook.BreakLink Name:= _
     ThisWorkbook.Path & "\BB.xls", Type:=xlExcelLinks
 'リンク解除がエラーになったかどうか
 Err_No = Err.Number
 'エラーになっても無視を取り消し」を宣言
 On Error GoTo 0
 'このIF文はエラーになったらなので不要と思われますね
 >'If Err_No <> 0 Then
 'IF文から外れていれば有無を言わずに印刷
 'IF文内ならエラー発生時のみ印刷
 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 >'End If
 End Sub
 でどうでしょうか?
 あ、検証はしてません
 (力技)


 うまくできました。
 力技さん,ご丁寧に教えていただき,どうもありがとうございました。

 (公務員)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.