Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Dateiname an Modul übergeben und ein Array mit dem Inhalt der Datei als Array zurück bekommen

Frage Entwicklung VB for Applications

Mitglied: captainchaos666

captainchaos666 (Level 1) - Jetzt verbinden

24.01.2010 um 11:03 Uhr, 3111 Aufrufe, 3 Kommentare

Hallo an Alle,
ich lese in einem Excel- Modul die komplette Excel- Datei ein ein Array aTest(Zeile, Spalte) ein. Das habe ich noch hinbekommen. So nun zu meinem Problem. Das Modul möchte ich aus "DieseArbeitsmappe" starten. Wie kann ich das Array aus dem Modul an die übergeordnete Programmstruktur übergeben.

Dank Euch

Gruß Alex
Mitglied: 76109
24.01.2010 um 13:19 Uhr
Hallo captainchaos666!

Wenn ich Dich richtig verstanden habe, dann in etwa so:
01.
Sub Test() 
02.
    Dim aTest As Variant, bTest As Variant 
03.
     
04.
    aTest = Array(0, 1, 2, 4) 
05.
     
06.
    Call ChangeArray(aTest)		'Bestehendes Array aTest direkt ändern 
07.
     
08.
    bTest = GetNewArray(aTest)     	'Neues Array geändert zurückgeben 
09.
End Sub 
10.
 
11.
Sub ChangeArray(ByRef aTest) 
12.
 
13.
    aTest(1) = 100  'Array vom Aufrufer direkt ändern 
14.
End Sub 
15.
 
16.
Function GetNewArray(ByVal Test As Variant) As Variant 
17.
     
18.
    Test(1) = 200 
19.
   
20.
    GetNewArray = Test   'Array vom Aufrufer geändert als neues Array zurückgeben 
21.
End Function
Gruß Dieter

[edit] Wenn ich das richtig sehe, dann wurde die Überschrift nachträglich geändert? [/edit]
Bitte warten ..
Mitglied: captainchaos666
24.01.2010 um 15:49 Uhr
Hallo Dieter,
Danke für deine Schnelle Antwort. Dachte es mir ungefähr so:

Sub Basis()

' Aufruf unterprogramm mit dem Name des Excelprogramms
Array = GetArrayFromExcel(Testdatei.xls)

End Sub


Das Unterprogramm möchte ich bei den Modulen unterbringen. Wie muss ich meine Aufrufe gestalten, damit ich das Unterprogramm bei den Modulen auslagern kann. Funktioniert es wenn ich Array in verschiedenen Größen zurück bekomme

Dank, Gruß Alex
Bitte warten ..
Mitglied: 76109
24.01.2010 um 17:49 Uhr
Hallo captainchaos666!

Exeldateien in Arrays ver/bearbeiten? Kann ich leider nicht ganz folgen?

Du kannst, wie in meinem Beispiel, die Sub ChangeArray und die Function GetArray unverändert in ein Modul verschieben.
Sub's und Functionen in Modulen sind "Public" und können aus anderen Modulen, Arbeitsmappe, Tabellen oder Formularen heraus ganz normal aufgerufen werden. Erst wenn vor einer Sub oder Function ein "Private" steht, dann kann diese Prozedur nur lokal innerhalb der aktuellen Code-Seite aufgerufen werden.

Beispiel Modul1 (Public):
01.
Sub Irgendwas(....) 
02.
... 
03.
End Sub
Kann von überall her aufgerufen werden

Beispiel Modul1 (Lokal):
01.
Private Sub WasAnderes(....) 
02.
... 
03.
End Sub
Kann nur innerhalb von Modul1 aufgerufen werden.

Die Größe eines Arrays wird allein durch die entsprechend initialisierte Array-Variable bestimmt. Ob das Array allerdings korrekt von Deiner Modul-Routine verarbeitet wird, hängt allein von Deinem Code ab.

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Basic
AutoIt - Array auslesen und den Inhalt der Dateien in Worddatei einfügen
gelöst Frage von hipfzwirgelBasic4 Kommentare

Hallo an alle AutoIt-Spezialisten, ich erstelle gerade ein Script(genauer eine Funktion :-) ), dass Bilder in eine Worddatei einfügen ...

Batch & Shell
Text-Datei auslesen und Inhalt als Parameter übergeben
Frage von aubm2013Batch & Shell1 Kommentar

Hallo zusammen, ich möchte eine Text-Datei auslesen und die Werte an ein Makro innerhalb des Batch-Skriptes übergeben. Die auszulesende ...

Batch & Shell
Mit Powershell Dateien an Drucker übergeben
gelöst Frage von ChrissssiBatch & Shell2 Kommentare

Hallo zusammen, ich habe die Aufgabe bekommen verschiedene Arten von Dateitypen über Powershell zu drucken. PDF und txt funktioniert ...

Batch & Shell
Neue Dateien an BLAT übergeben
gelöst Frage von xgUixBatch & Shell13 Kommentare

Hallo Leute, ich habe einen Ordner mit diversen PDF Datein. Jeden Ersten im Monat kommen neue Dateien hinzu. Diese ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 8 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 15 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 17 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 20 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...