Herbers Excel-Forum - das Archiv
Macro soll auf geschlossene Arbeitsmappe zugreifen

|
Betrifft: Macro soll auf geschlossene Arbeitsmappe zugreifen
von: MichiM
Geschrieben am: 19.09.2003 00:03:03
Hallo,
komme nicht weiter und finde irgendwie nichts passendes :((
Ein Makro, was in der Arbeitsmappe "Klassendaten_10b_Abfrage.xls" steht, soll Daten aus der Arbeitsmappe "Klassendaten_10b_editieren.xls" einfügen.
Das Problem: Die Quelldatei muss geschlossen bleiben (damit keiner "ausversehen" etwas ändern oder löschen kann).
Habe mich mal in den FAQ umgeschaut - so wie es unten steht, klappt es nur, wenn die Quelldatei geöffnet ist.
Kann mir jemand sagen, was ich umschreiben muss?
Schonmal vielen Dank für eure Hilfe
MichiM
-------------
Name = Range("D3").Value
Workbooks("Klassendaten_10b_editieren.xls").Activate
Sheets(Name).Select
Range("B8").Select
Selection.Copy
Workbooks("Klassendaten_10b_Abfrage.xls").Activate
Sheets("Eingabe").Select
Range("D6").Select
ActiveSheet.Paste
Workbooks("Klassendaten_10b_editieren.xls").Activate
Sheets(Name).Select
Range("B9").Select
Selection.Copy
Workbooks("Klassendaten_10b_Abfrage.xls").Activate
Sheets("Eingabe").Select
Range("D8").Select
ActiveSheet.Paste
usw.

 |
Betrifft: AW: Macro soll auf geschlossene Arbeitsmappe zugreifen
von: PeterW
Geschrieben am: 19.09.2003 00:16:52
Hallo Michi,
auf eine geschlossene Datei kannst du mit Activate auf keinen Fall zugreifen. Kannst du die Quelldatei nicht schützen, dann wäre eine Änderung nicht möglich.
Gruß
Peter
Betrifft: AW: Macro soll auf geschlossene Arbeitsmappe zugreifen
von: MichiM
Geschrieben am: 19.09.2003 00:26:35
Hallo PeterW,
das Problem ist, dass in der Quelldatei auch die Eingabemaske zum editieren der Daten ist.
Ausserdem sind in der Quelldatei auch Daten, die nicht jeder sehen soll (Bankverbindung usw.).
Wenn nun beide Dateien geöffnet sind, ist die Gefahr zu Groß, das einer "mal eben" reinschaut. So ist es schwieriger die Quelldatei ausfindig zu machen - zumal von den Leuten nicht jeder weiss, wo und wie man diese findet.
Gruss
MichiM
Betrifft: AW: Macro soll auf geschlossene Arbeitsmappe zugreifen
von: PeterW
Geschrieben am: 19.09.2003 00:41:00
Hallo MichiM,
das ändert nichts daran, dass du auf eine geschlossene Mappe so nicht zugreifen kannst. Obwohl jeder Schutz in Excel zu umgehen ist würde ich in der Quelldatei die Daten, die nicht aus Versehen eingesehen werden sollen ausblenden und sowohl die Blätter als auch die Arbeitsmappe schützen. Wenn Änderungen in der Quelldatei vorzunehmen sind lässt sich der Schutz per Passwort aufheben.
Es gibt bestimmt eine Lösung aber wenn du deinen Level richtig angegeben hast wirst du ohne externe Hilfe nicht auskommen - und die würde ich dringend anraten wenn schützenswerte Daten vorliegen.
Gruß
Peter
Betrifft: AW: Macro soll auf geschlossene Arbeitsmappe zugreifen
von: MichiM
Geschrieben am: 19.09.2003 01:50:54
Hallo Peter,
danke für deine Bemühungen - es ist wirklich faszinierend, was Leute wie Du in diesem Forum leisten.
Habe auch eine Lösung gefunden:
Makro starten - Quelldatei öffnen - Daten auslesen - Quelldatei ohne speichern schliessen - Fertig
Aber als Newbie erstmal drauf kommen ;-)
bzgl. Level ist das so ein Ding - sagt man VBA gut und weiss nachher die einfachsten Befehle nicht, sieht das auch sche... aus. Also lieber ne Nummer kürzer treten.
Gruss und bis demnächst
MichiM
Betrifft: AW: Macro soll auf geschlossene Arbeitsmappe zugreifen
von: PeterW
Geschrieben am: 19.09.2003 02:08:24
Hallo MichiM,
schön, dass du eine Lösung gefunden hast aber nachvollziehen kann ich sie nicht. Wenn du die Datei nur öffnest um Daten auszulesen kannst du sie direkt wieder schließen, Änderungen wurden ja nicht vorgenommen.
Bezüglich deines ersten Codes schau dir mal links unter Excel-FAQ - xlBasics - Selektieren und Aktivieren an.
Wenn mir einfache Befehle fehlen benutze ich immer den Makrorekorder, der zeichnet zwar viel Müll auf aber mit etwas VBA-Erfahrung kann man den gesuchten Befehl schnell finden.
Gruß
Peter
Betrifft: AW: Macro soll auf geschlossene Arbeitsmappe zugreifen
von: Hajo_Zi
Geschrieben am: 19.09.2003 07:10:18
Hallo Michi
hier mal eine Möglichkeit ohne öffnen, die mal im Forum stand.
Option Explicit
' von Alf Herber Forum
'
https://www.herber.de/forum/archiv/52to56/t52834.htm#52840
Sub TestGetValue()
Dim p As String
Dim f As String
Dim s As String
Dim r As String
p = "C:\temp\"
f = "test.xls"
s = "Tabelle3"
r = "A1"
MsgBox GetValue(p, f, s, r)
End Sub
Private Function GetValue(path, file, sheet, ref)
' Retrieves a value from a closed workbook
Dim arg As String
' Make sure the file exists
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
' Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.
http://home.media-n.de/ziplies/
Betrifft: werd´s mir merken
von: MichiM
Geschrieben am: 19.09.2003 15:18:35
Hallo Hajo,
danke für deine Recherche.
Wie Peter richtig erkannt hat, brauch ich für die lösung, die ich "suchte" Hilfe.
Da dein Vorschlag aber (wenn es funktioniert) genau das richtige ist, werde ich mich die Tage mal damit beschäftigen. Als "Newbie" muss ich mich erstmal einarbeiten, damit ich überhaupt verstehe, was da vor sich geht.
Danke nochmal und
ein schönes Wochenende noch
MichiM
Betrifft: Danke für die Rückmeldung oT
von: Hajo_Zi
Geschrieben am: 19.09.2003 15:22:09