Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Meldung Makros aktivieren

Meldung Makros aktivieren
robert
Hallo am samstag,
folgender vorgang:
ein blatt mit wb-open code wird copiert, in der copie wird mit einem makro
die wb-open prozedur gelöscht, das blatt wird als neue datei gespeichert.
funkt alles tadellos, aber beim öffnen kommt die frage ob makros aktiviert werden sollen.
speichere ich datei jetzt wieder und öffne sie neu, kommt keine meldung mehr.
woran kann das liegen?
gruß
robert
mir fällt dazu nur dies ein, ...
17.07.2010 14:53:19
Tino
Hallo,
also ich kopiere die Tabelle in eine neue Datei.
Lösche die Code- Zeilen in dieser Tabelle
Schließe die Datei und speichere diese.
Nun öffne ich diese wieder aber in einer separaten Applikation und speichere diese nochmals.
Hier meine Test Datei.
https://www.herber.de/bbs/user/70635.xls
Gruß Tino
..Felermeldung bei Test...
17.07.2010 15:09:40
robert
Set AppXl = CreateObject("Excel.Application")
Fehler: Fehler beim laden einer DLL
?
Gruß
robert
Fehler muss bei Dir liegen!
17.07.2010 15:18:41
Tino
Hallo,
kann diesen Fehler bei mir nicht feststellen, weder unter xl2003 noch unter xl2007.
Ähnliche Codeteile laufen auch schon eine gewisse Zeit auf anderen Rechnern zuverlässig,
müsste also irgendwas bei Dir verbogen sein.
Vielleicht hilft dieser Artikel
http://support.microsoft.com/kb/828550
Gruß Tino
Anzeige
Ergänzung zu Fehler....
17.07.2010 15:19:39
robert
Hi Tino,
das makro bleibt da stehen, die datei ist aber trotzdem ohne makros gespeichert.
?
Gruß
robert
habe ich doch geschrieben...
17.07.2010 15:26:33
Tino
Hallo,
...
...
"Schließe die Datei und speichere diese."
...

Danach soll diese in einer neuen Applikation geöffnet werden und nochmals gespeichert werden.
Läuft bei mir wunderbar. ;-)
Gruß Tino
Folgender Ablauf....
17.07.2010 15:35:17
robert
Hi Tino,
ich starte in deiner datei das makro....
es kommt der debugger mit der fehlermeldung 48:Fehler beim laden einer DLL....
ich beende das makro, siehe da, die datei "Datei ohne Makro.xls existiert(ohne Makro)
wenn ich den block
Set AppXl = CreateObject("Excel.Application")
With AppXl
.Application.DisplayAlerts = False
.Workbooks.Open strFile
.ActiveWorkbook.Save
.Application.DisplayAlerts = True
.Quit
End With
Set AppXl = Nothing
auskommentiere kommt kein debugger und alles passt!
also werde ich es so machen ;-)
Dank und Gruß
robert
Anzeige
damit bist Du wieder am Anfang ;-)
17.07.2010 15:38:56
Tino
Hallo,
wenn Du diesen Block raus nimmst, bist Du wieder dort wo Du angefangen hast.
Gruß Tino
AW: damit bist Du wieder am Anfang ;-)
17.07.2010 16:06:26
robert
Hi Tino,
ich verwende jetzt dein makro so wie es ist, habe windows neu gestartet,
dein makro laufen lassen, debugger kommt mit:Fehler 48, datei wird aber trotzdem erstellt-
WIESO ?
ich versteh es einfach nicht......
gruß
robert
habe noch eine andere Variante...
17.07.2010 16:22:57
Tino
Hallo,
Sub Kopieren_Ohne_VBA()
Dim oWB As Workbook
Dim strFile$, strLines$
Dim booMeSaved As Boolean

booMeSaved = ThisWorkbook.Saved

With ThisWorkbook.VBProject.VBComponents(ThisWorkbook.Sheets(1).Name).CodeModule
    strLines$ = .Lines(1, .CountOfLines)
    .DeleteLines 1, .CountOfLines
End With

strFile$ = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
strFile$ = strFile$ & "Datei_Ohne_Makro.xls"
Tabelle1.Copy

Set oWB = ActiveWorkbook

With ThisWorkbook.VBProject.VBComponents(oWB.Sheets(1).Name).CodeModule
    .AddFromString strLines
End With

oWB.Sheets(1).Shapes(1).OnAction = ""

Application.DisplayAlerts = False
    oWB.Close True, strFile
Application.DisplayAlerts = True

ThisWorkbook.Saved = booMeSaved

End Sub
Zu Deinem Problem.
Weil die neue Datei davor schon speichert und geschlossen wird.
Gruß Tino
Anzeige
Danke Tino, diese Version funkt jetzt :-)) owT
17.07.2010 16:32:17
robert
AW: Danke Tino, diese Version funkt jetzt :-)) owT
18.07.2010 12:10:45
Tino
Hallo,
anstelle ThisWorkbook.Sheets(1).Name musst Du natürlich
den CodeNamen der Tabelle einsetzen.
Sub Kopieren_Ohne_VBA()
Dim oWB As Workbook, sTabCodeName$
Dim strFile$, strLines$
Dim booMeSaved As Boolean


    booMeSaved = ThisWorkbook.Saved
    sTabCodeName$ = ThisWorkbook.Sheets(1).CodeName
    
    With ThisWorkbook.VBProject.VBComponents(sTabCodeName$).CodeModule
        strLines$ = .Lines(1, .CountOfLines)
        .DeleteLines 1, .CountOfLines
    End With
    
    strFile$ = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")
    strFile$ = strFile$ & "Datei_Ohne_Makro.xls"
    Tabelle1.Copy
    
    Set oWB = ActiveWorkbook
    
    With ThisWorkbook.VBProject.VBComponents(sTabCodeName$).CodeModule
        .AddFromString strLines
    End With
    
    oWB.Sheets(1).Shapes(1).OnAction = ""
    
    Application.DisplayAlerts = False
        oWB.Close True, strFile
    Application.DisplayAlerts = True
    
    ThisWorkbook.Saved = booMeSaved

End Sub
Gruß Tino
Anzeige
AW: Danke Tino-mach ich-owT
18.07.2010 14:08:03
robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige