[[20190603200548]] 『マクロを削除したはずのブックからマクロを実行す』(もんきち) ページの最後に飛ぶ

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

 

『マクロを削除したはずのブックからマクロを実行するかどうか聞かれる』(もんきち)

とあるマクロを含んだブックからシートをコピーしマクロを含まないファイル( FileFormat:=xlExcel8 )を作成しています

コピーするシートにはマクロが記載されておりコピーした時に下記コードでシート内のマクロを削除しています

Public Sub VBDelete(ByVal wb As Workbook)

    Dim i As Long
    Dim Obj As Object
    For Each Obj In wb.VBProject.VBComponents
        With Obj.CodeModule
            ' コードを削除(全行)
            i = .CountOfLines
            If i <> 0 Then .DeleteLines 1, i
        End With
    Next Obj
End Sub

保存されたファイルには確かにマクロは含まれていないのですが、Excel2013環境で「Microsoft Excel のセキュリティに関する通知」でマクロを有効にするかどうかの可否を聞いてきます

シートにはじめからマクロが書かれていない場合はこのような通知は出ません
これと同様にこのメッセージが出ないファイルを作成したいのですがどうすればいいでしょうか?

なおシートにはシート個別のコピーやシートの名前などのプロパティやファンクションが書き込まれているためこちらを消したくはないです

よろしくおねがいします

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 もうご覧になっているとは思いますが、参考まで。

[[20090302144413]] 『マクロ』(マクロ初心者)
(カリーニン) 2019/06/03(月) 20:27


なぜ、FileFormat:=xlExcel8 にするのでしょうか?

(マナ) 2019/06/03(月) 20:38


>>もうご覧になっているとは思いますが、参考まで。

>>[[20090302144413]] 『マクロ』(マクロ初心者)

コピーしたシートには図形や故意に名前を付けたオブジェクトは存在しません
加えて以下の方法でそれらを除外しています
Public Sub DeleteNames(ByVal wb As Workbook)

    '名前領域の削除
    On Error Resume Next
    Dim nObj As Name
    For Each nObj In wb.Names
'        nObj.Visible = True
        nObj.Delete
    Next nObj
    Err.Clear
End Sub
Public Sub VBDelete(ByVal wb As Workbook)
    Dim i As Long
    Dim Obj As Object
    For Each Obj In wb.VBProject.VBComponents
        With Obj.CodeModule
            ' コードを削除(全行)
            i = .CountOfLines
            If i <> 0 Then .DeleteLines 1, i
        End With
    Next Obj
End Sub
Public Sub ReferenceDelete(ByVal wb As Workbook)

    On Error Resume Next
    Dim oReference As Object
    For Each oReference In wb.VBProject.References

        wb.VBProject.References.Remove oReference

    Next oReference

End Sub

>>なぜ、FileFormat:=xlExcel8 にするのでしょうか?

仕事の絡みでこのフォーマットでないとだめらしいです・・・・

(もんきち) 2019/06/03(月) 20:53


 こんばんは!
私も先日同じ様なことをやってましたが、
配布したいんですよね?
一度、マクロなしbookにしてから
その形式に保存し直したらいいんじゃないんですか?
(SoulMan) 2019/06/03(月) 20:59

>>一度、マクロなしbookにしてから
>>その形式に保存し直したらいいんじゃないんですか?

一度tempにxlsxで保存してからあらためてxlExcel8で保存するということですよね
それは最終手段で考えてはいるんですが、色などのレイアウトが変わるのかもすこし気になります...
(もんきち) 2019/06/03(月) 21:07


 マクロbookからマクロなしbookは、変わらない?
ならば、同じだと思いますが、
私の場合は、マクロなしbookで用が足りました
因みにpdfも付けて配布しています
色々ニーズがあるみたいなので
(SoulMan) 2019/06/03(月) 21:12

コメント返信:

[ 一覧(最新更新順) ]


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