Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 3842 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
VB for Applications
gelöst Beim Bestätigen einer Zelle automatisch zwei neue Zeilen einfügen (5)

Frage von striding zum Thema VB for Applications ...

Batch & Shell
Dateien im Ordner auslesen und umbennen (10)

Frage von jocheng zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...