プロが教えるわが家の防犯対策術!

下記のようなマクロをエクセルの中で記述し、エクセルの該当セルをダブルクリックしたときに
動くようにしています。
定義 セルA1:マーカー(例:P・・Passwordを掛けろ)
   セルB1:パス
   セルC1:ファイル名(今回、ext=DOCとします)

動きとしては、特にエラーが出ることもないのですが、肝心のパスワードロックが掛かっていません。
なぜだか、理由がわかりません。よろしくお願いします。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Application.Visible = False
Call Action_DOC(Target)
Application.Visible = True
End Sub

Sub Action_DOC(ByVal Target As Range)
Dim WdApp As Word.Application
Dim Fn As string

Set WdApp = New Word.Application
WdApp.Visible = True
Fn = Trim(Target.Offset(0, 1).Value) & "\" & Trim(Target.Offset(0, 2).Value)
WdApp.Documents.Open Filename:=Fn, PasswordDocument:="xxxxx"
WdApp.DisplayAlerts = False
WdApp.ActiveDocument.SaveAs2 Filename:=Fn, FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="xxxxx", AddToRecentFiles:=True, WritePassword:="", CompatibilityMode:=14
WdApp.ActiveWindow.Close
WdApp.Quit
Set WdApp = Nothing
End Sub

A 回答 (2件)

エクセルデータをワードで開いてるから (^_^;

    • good
    • 0

内容的に問題ないと思いますが、Wordの場合は何か編集作業をしないと


上書き保存されません。何かを書き込んでから、書き込んだものを削除
するなどの作業をマクロに追加しないと、開いたファイルの上書き保存
が有効にならないのです。
http://stabucky.com/wp/archives/4346

上記サイトの場合だと、改行を追加し、削除する部分を追加することで
上書き保存を有効にしていますよね。
    • good
    • 2
この回答へのお礼

ありがとうございます。
「何も変更しない場合は、上書きとならない」、知りませんでした。
サジェスチョンを反映して、うまく行きました。
ありがとうございました。

お礼日時:2015/07/20 16:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています