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

Ordner auswählen - xlsDateien darin auslesen - in neue Tabelle einfügen

Frage Entwicklung VB for Applications

Mitglied: proggen

proggen (Level 1) - Jetzt verbinden

15.01.2008, aktualisiert 17.01.2008, 3860 Aufrufe, 1 Kommentar

mit VBA möglich?

Hallo,

komme aus der Java-Fraktion und kenne mich mit VBA kaum aus, doch VBA scheint für diese Lösung geeigneter zu sein.

Ich möchte folgendes lösen:
(Info: xls-Dateien haben unterschiedlich viele Zeilen. Spalten bleiben konstant)

1. Via Auswahlfenster ein Ordner auswählen
2. Ordnerauswahl in Variable speichern
3. bestimmte Zellen in der Zeile/Zeilen sollen aus allen xls-Dateien in dem Ordner (und evtl. Unterordner) kopiert werden und ->
4. in eine neu generierte Datei hintereinander eingefügt werden

Dachte das sei "mal eben" programmiert, aber ist nicht so trivial wie ich dachte.

Gibt es vielleicht Anregungen oder Lösungen, damit ich das Rad nicht neu erfinden brauche?

Thx.
Simone
Mitglied: SvenGuenter
17.01.2008 um 14:41 Uhr
das kannst du recht einfach lösen.

Form erstellen direlement drauf setzen fielelemet drauf setzen.
in der direlemt.path setz du dirkt den pfad wo du hinwillst. In der Fileelement siehst du dann die Files in der Ordnerstruktur.

Dann muss du nur noch die xls öffnen nach den parametern suchen diese auslesen und in eine Datei wegschrieben. Dies machst du mit dem File System Objekt.


Das war es. Wenn du hier ein komplette Lösung willst wird dir die keiner geben.
Als Ansatz Folgendes:

01.
'**************************************************** 
02.
'Benötigt eine Form, ein label, zwei Buttons, ein Dirlist und ein Filelist 
03.
'**************************************************** 
04.
Option Explicit 
05.
 
06.
'**************************************************** 
07.
'Globale Variable auf die man ausserhalb der Form direkt zugreifen kann. Diese enthält 
08.
'in diesem Fall den Dateinamen 
09.
'**************************************************** 
10.
Private filename As String 
11.
 
12.
 
13.
'**************************************************** 
14.
'Form entladen 
15.
'**************************************************** 
16.
 
17.
Private Sub button_cancel_Click() 
18.
Unload Me 
19.
End Sub 
20.
 
21.
'**************************************************** 
22.
'Setzen der Globalen Variablen 
23.
'**************************************************** 
24.
 
25.
Private Sub button_dataselect_Click() 
26.
Call setfilename(Me.Label1) 
27.
End Sub 
28.
 
29.
'**************************************************** 
30.
'Setzen des Labels auf den String der Datei die per Doppelklick ausgewählt wurde 
31.
'**************************************************** 
32.
 
33.
Private Sub File1_dblClick() 
34.
Dim dateiname As String 
35.
dateiname = File1.filename 
36.
Me.Label1 = dateiname 
37.
End Sub 
38.
 
39.
'**************************************************** 
40.
'Laden der Form  
41.
'**************************************************** 
42.
 
43.
Private Sub Form_Load() 
44.
'**************************************************** 
45.
'Direlement Path auf c:\ als standard setzen 
46.
'**************************************************** 
47.
 
48.
dir_auflistung.Path = "C:\" 
49.
'**************************************************** 
50.
'Filepath auf gleichen Pfad setzen wie direlement 
51.
'**************************************************** 
52.
 
53.
File1.Path = dir_auflistung.Path 
54.
 
55.
End Sub 
56.
 
57.
 
58.
Private Sub dir_auflistung_change() 
59.
'**************************************************** 
60.
'sollte der User einen anderen Ordner auswählen fileelemnt auch auf diesen Pfad setzen 
61.
'**************************************************** 
62.
 
63.
dir_auflistung.Refresh 
64.
File1.Path = dir_auflistung.Path 
65.
 
66.
End Sub 
67.
 
68.
 
69.
 
70.
 
71.
'**************************************************** 
72.
'Gewohnheit bracuht man nciht da man die globale Variable überall heraus ansprechen kann. 
73.
'**************************************************** 
74.
 
75.
 
76.
 
77.
 
78.
 
79.
'**************************************************** 
80.
'Funktion zum setzen der Globalen varibale 
81.
'**************************************************** 
82.
 
83.
Public Function setfilename(tempfilename As String) 
84.
filename = tempfilename 
85.
 
86.
End Function 
87.
 
88.
 
89.
'**************************************************** 
90.
'Funktion zum holen der globalen variable 
91.
'**************************************************** 
92.
 
93.
Public Function getfilename() As String 
94.
 
95.
getfilename = filename 
96.
 
97.
End Function 
98.
 
99.
 

So damit hast du eigentlich fast alles was die Ordner und Filestruktur angeht nun noch eine kleine Hilfe zm FSO

01.
Option Explicit 
02.
 
03.
 
04.
Public Function dateilesen() 
05.
Dim datei As String 
06.
Dim fso, source, retstring 
07.
Dim computername As String, benutzername As String, ipnummer As String, logon As String, logoff As String, status As Boolean 
08.
 
09.
'Konstanten für den Modes des FSO 
10.
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
11.
 
12.
 
13.
'Definition der benötigten internen Variablen 
14.
'*********************************************************** 
15.
'Hier der Teil um direkt aus den Textfiles die Daten zu lesen 
16.
' Dieses Textfile wird zum füllen der DB genutzt. 
17.
'*********************************************************** 
18.
 
19.
'Erzeugen des FileSystemObject 
20.
Set fso = CreateObject("Scripting.FileSystemObject") 
21.
 
22.
'Zuweisung der Quelldatei 
23.
datei = "C:\0109.txt" 
24.
Set source = fso.opentextfile(datei, ForReading, False) 
25.
 
26.
 
27.
 
28.
 
29.
Do While source.AtEndOfStream <> True 
30.
retstring = source.readline 
31.
Dim arrayretstring 
32.
arrayretstring = Split(retstring, ";") 
33.
computername = arrayretstring(0) 
34.
'Hier kann man dann mit dem >Index das array qweiteren variablen zuweisen 
35.
Loop 
36.
MsgBox (arrayretstring(1)) 
37.
 
38.
 
39.
End Function
Dies istz ein Beispiel fürs Lesen einer datei. Zum schreiben musst du halt appending oder write nehmen. Wenn du in eine Exceldatei schreiben willst kannst du auch direkt in spalten und zeilen schreiben.



Gruß

Sven
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MySQL - Tabulator in Tabelle einfügen
gelöst Frage von mabue88Datenbanken1 Kommentar

Hallo, wie kann ich in MySQL Workbench in eine Spalte vom Typ VARCHAR() ein Tabulator ('\t') als Zeichen einfügen? ...

VB for Applications
Wie kann ich automatisch aus neu angelegten Tabellen Zellen auslesen lassen ?
Frage von Joerg18470VB for Applications4 Kommentare

Hallo zusammen, ich habe eine Mappe erstellt, in der es einen Button gibt mit dem eine neue Tabelle generiert ...

Batch & Shell
In Powershell ordner auswählen
gelöst Frage von SaintwolfBatch & Shell8 Kommentare

Hallo zusammen, ich benötige einen tipp wie man auswält das bei der ausgabe nur noch die mit dem neuestem ...

Datenbanken
Bilder über einen Pfad als Binärobjekt in eine Tabelle einfügen
Frage von skiing69Datenbanken4 Kommentare

Hallo, ich habe eine Tabelle (BilderPfad), der einen Pfad für eine JPG-Datei beinhaltet. Jetzt möchte ich die Datensätze in ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 6 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 13 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless17 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...