Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
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

wenn schreibgeschützt dann....

wenn schreibgeschützt dann....
02.07.2014 07:12:57
Spenski
hallo .
erstmal wollt ich mich bei allen bedanken die mir bisher geholfen haben, ihr seid die besten :)
ich suche folgendes:
Datei: C:\Test.xls
Tabellenblatt: Datenbank
Passwort: 1234
aus einer UserForm möchte ich aus einer anderen Datei (siehe oben) den kompletten inhalt das Tabellenblatt (Datenbank) kopieren und in der Datei in der die Userform ist in das Tabellenblatt (Daten) Zelle A1 einfügen.
ich bin mir im moment nicht sicher ob der schreibschutz relevant ist wenn ich datei nur auslesen will. es kann auch sein das die datei C:\test.xls mal geöffnet ist.
wenn es relevant ist soll der code solange eine schleife drehen bis die datei nicht mehr schreibgeschützt ist und darf die schleife nicht abbrechen.
und es durfen keine meldungen kommen
gruss

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn schreibgeschützt dann....
02.07.2014 09:17:08
Ralf
Hallo,
probier mal, evtl. bisschen anpassen:
Option Explicit
Sub test()
Dim awkb As Workbook
Set awkb = ActiveWorkbook
If Not BookOpen("Test.xls") Then Workbooks.Open "Test.xls", ReadOnly:=True, Password:="1234"
Workbooks("Test.xls").Worksheets("Datenbank").Cells.Copy awkb.Worksheets("Daten").Cells(1, 1)
End Sub
Public Function BookOpen(WorkBk As String) As Boolean
Dim wkb As Workbook
Err.Clear
On Error Resume Next
Set wkb = Workbooks(WorkBk)
If Err.Number  9 Then
BookOpen = True
Exit Function
End If
BookOpen = False
End Function
Ralf

Anzeige
AW: wenn schreibgeschützt dann....
02.07.2014 12:55:55
Spenski
hallo klappt fast gut :D
ich habe zum testen die C:\test.xlsx mal offen mal gesschlossen gehabt und dann das makro von meiner anderen datei gestartet, abgeändert hab ich alles. problem ist jetzt :
er lässt nach dem makro die test.xlsx [Schreibgeschützt] offen . Bei beiden Varianten macht er dass.
hab dann Workbooks("Test.xlsx").Close noch eingebaut , was aber zur folge hat , das wenn die test.xlsx geöffnet war natürlich mitgeschlossen wird.
gibts da noch eine möglichkeit nach dem vorgang nur das schreibgeschütze blatt zu schliessen?
gruss und danke

AW: wenn schreibgeschützt dann....
02.07.2014 13:32:48
Spenski
hab da leider nochwas :/ das makro soll später über einen timer zb alle 10 min ausgeführt werden , daher kann es sein das die datei wo es reinkopiert werden soll nicht unbedingt das aktivesheet sein muss.
Die datei wo es reinsoll heißt C:\V220.xlsm
ich habs vergessen zu erwähnen bzw wusste es nicht besser, hoffe das macht nicht so viel umstände
gruss

Anzeige
AW: wenn schreibgeschützt dann....
03.07.2014 09:06:16
Ralf
Hallo,
ich verstehe das Problem mit dem Schließen der Datei nicht.
Die Zeile:
Workbooks("test.xlsx").Close False
sollte die Datei, aus der importiert wird, zuverlässig schließen. Was bleibt offen?
Zum Timer:
Application.Wait blockiert Excel für die weitere Ausführung/Benutzung. Außer du nimmst eine weitere Instanz.
Probier mal Application.OnTime, ich habe das noch nicht benutzt.
Es wird nicht in ActiveSheet kopiert sondern nach Worksheets("Daten").
Meinst du ActiveWorkbook?
Das kann so bleiben, das es ein Objekt ist und .Copy Destination:=[Objekt] auf das Objekt verweist.
Gruß
Ralf
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige