Törölt nick Creative Commons License 2011.07.19 0 0 15490

Sub teszt()
    Dim FPath As String, FName As String
    Dim wb As Workbook, LineCount As Long
    Dim WBModule As VBIDE.CodeModule
    
    FPath = "D:\"
    FName = Dir(FPath & "\*.xls", vbNormal)
    While Not FName = ""
        Set wb = Workbooks.Open(FPath & "" & FName)
        Set WBModule = wb.VBProject.VBComponents("ThisWorkbook").CodeModule
        With WBModule
            LineCount = .CountOfLines + 1
            .InsertLines LineCount, "Private Sub Workbook_BeforePrint(Cancel As Boolean)"
            LineCount = LineCount + 1
            .InsertLines LineCount, "    Cancel = True"
            LineCount = LineCount + 1
            .InsertLines LineCount, "    MsgBox (""Nem nyomtatható dokumentum!"")"
            LineCount = LineCount + 1
            .InsertLines LineCount, "End Sub"
        End With
        wb.Close savechanges:=True
        FName = Dir()
    Wend  
End Sub

Pár dolog kiegészítésképpen:

1. A "kezelendő" fájlokat gyűjtsd egy mappába, és azt a mappát add meg FPath változó értékeként.

2. A Tools->References menüben kapcsold be a hivatkozást a Microsoft Visual Basic for Applications Extensibility komponensre.

3. Az Excel Eszközök->Beállítások->Biztonság->Makróvédelem->Megbízható közzétevők lapon tedd be a pipát a "Visual Basic Projekthez való hozzáférés megbízható" beállítás elé.

 

 

Előzmény: Sznida (15485)