ich deklariere in einem Modul eine Variable mit dem aktuellen Rechnernamen
Modul 1:
Public rechnername As String
Declare Function GetComputerName& Lib "kernel32" Alias "GetComputerNameA" (ByVal lbbuffer As String, nsize As Long)
------------------------------------------------------------------------------
Sub Rechnername_auslesen()
Dim rechnername As String * 64
Call GetComputerName(rechnername, 64)
End Sub
In diesem Modul sind auch noch weitere Makros
In "DieseArbeitsmappe" läuft folgendes Makro beim Start ab:
Option Explicit
-------------------------------------------------------------
Private Sub Workbook_Open()
Application.Run ("LFR_4_KEA.XLS!Rechnername_auslesen")
Dim variable1 As Boolean
Dim ZuÖffnendeDatei
Dim fs
'Prüfen ob Datei "Rechnername.txt" besteht
ZuÖffnendeDatei = "T:\" & rechnername & ".txt"
Set fs = CreateObject("Scripting.FileSystemObject")
variable1 = fs.FileExists(ZuÖffnendeDatei)
'Wenn Datei nicht besteht, dann Fragen ob beenden oder nicht
'(um ActiveWindow.Close umgehen zu können)
If variable1 = "Falsch" Then
Dim Mldg, Stil, Titel, Antwort ' Variablen definieren
Mldg = "Datei aus Caché konnte nicht gefunden werden! Luftfrachtrechner wieder schliessen?" ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton1 + vbApplicationModal + vbMsgBoxSetForeground ' Schaltflächen definieren.
Titel = ZuÖffnendeDatei & " Datei fehlt - beenden?" ' Titel definieren.
Antwort = MsgBox(Mldg, Stil, Titel)
If Antwort = 6 Then
GoTo weiter
Else: GoTo abbrechen
End If
End If
'eigentlicher Sinn des Skriptes: Daten von KEA auslesen, in Excel bearbeiten und
'und Textfile wieder zurückschreiben - funktioniert gut
Application.Run ("LFR_4_KEA.XLS!Daten_KEA_2_XLS")
Application.Run ("LFR_4_KEA.XLS!Daten_XLS_2_KEA")
weiter:
'EXCEL schliessen
ActiveWindow.Close SaveChanges:=False ' ACHTUNG!!! Nach aktivieren schliesst EXCEL selbständig!
Close
abbrechen:
End Sub
Jetzt sollte ich also in "DieseArbeitsmappe" die Variable "Rechnername" zur Verfügung haben. geht das irgendwie? Ich hatte auch schon versucht das Makro "Rechnername_auslesen" in diese Arbeitsmappe zu schreiben, ging aber auch nicht.
Hat jemand eine Lösung auf mein Problem?
Meine VBA-Kenntnisse sind recht dürftig, ich arbeite viel mit der Hilfe und mit logischem Denken, weniger mit Wissen - also erwartet nicht viel von mir. Danke.