|
こんにちは。
>(コードは消されているが、ファイルを開くときに、どういう訳かマクロを有効にするか否かのメッセージが出てきてしまう)
この現象、私も前から気になってて色々試した結果、下みたいに面倒な事をすると何とかでなくなりました。
シートの別名保存ではなく、ブックの複製ですけど....。
シート1だったと思いますが、ボタン等も消してます。
Sub 別名保存後マクロ削除()
Dim Shp As Shape
pic = ThisWorkbook.Path & "\"
myFileName = "new.xls"
ThisWorkbook.SaveCopyAs Filename:=pic & myFileName
'Workbooks.Open Filename:=pic & myFileName
Workbooks.Open pic & myFileName
With Workbooks(myFileName).VBProject
For Each VBC In .VBComponents
Select Case VBC.Type
Case 100
With VBC.CodeModule
.deletelines 1, .Countoflines
End With
Case Else
.VBComponents.Remove VBC
End Select
Next
End With
With Workbooks(myFileName).Worksheets("Sheet1")
'アクティブXコントロール全部
For i = 1 To .OLEObjects.Count
.OLEObjects.Item(i).Delete
Next
'フォームボタン
'.Shapes("Button 1").Delete
'.Shapes("Button 2").Delete
'マクロ登録されているファームボタン等削除。
For Each Shp In .Shapes
If Shp.OnAction <> "" Then
Shp.Delete
End If
Next
End With
Workbooks(myFileName).Save
Workbooks(myFileName).Close
DoEvents
Workbooks.Open (pic & myFileName)
Workbooks(myFileName).Save
Workbooks(myFileName).Close '(True)
'ThisWorkbook.Close (False)
End Sub
|
|