|
本帖最后由 suye1010 于 2012-8-11 16:28 编辑
- Sub AddBackupToFile()
- Dim str As String, VbComp
- str = "Sub 备份()" & vbCrLf & _
- "Dim wb As Workbook" & vbCrLf & _
- "Set wb = ThisWorkbook" & vbCrLf & _
- "On Error Resume Next" & vbCrLf & _
- "s1$ = ThisWorkbook.FullName '保存当前文件的全路径及名称" & vbCrLf & _
- "Application.DisplayAlerts = False" & vbCrLf & _
- "wb.SaveAs ([a1] & """"& ActiveWindow.Caption)" & vbCrLf & _
- "wb.SaveAs s1" & vbCrLf & _
- "End Sub"
- Dim WK As Workbook
- Application.DisplayAlerts = False
- With Application.FileDialog(msoFileDialogFilePicker)
- .AllowMultiSelect = False
- .Show
- If .SelectedItems.Count = 0 Then Exit Sub '未选择文件
- Set WK = Application.Workbooks.Open(.SelectedItems(1))
- End With
- For Each VbComp In WK.VBProject.VBComponents
- If VbComp.CodeModule.Find("Sub 备份()", 1, 1, -1, -1) Then
- MsgBox "目标文件中已存在备份程序,程序将退出", vbInformation + vbOKOnly, "温馨提示"
- GoTo 100
- End If
- Next
- WK.VBProject.VBComponents("ThisWorkbook").AddFromString (str)
- With WK.Sheets(1).Buttons.Add(500, 10, 30, 18)
- .OnAction = "备份"
- .Characters.Text = "备份"
- End With
- 100:
- WK.Close True
- Application.DisplayAlerts = True
- End Sub
复制代码 |
评分
-
查看全部评分
|