[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロを削除したはずのブックからマクロを実行するかどうか聞かれる』(もんきち)
とあるマクロを含んだブックからシートをコピーしマクロを含まないファイル( 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
(マナ) 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
一度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.