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
GELÖST

Ordner anlegen per VBS mit NAmen aus Tabelle

Frage Entwicklung VB for Applications

Mitglied: ShitzOvran

ShitzOvran (Level 1) - Jetzt verbinden

30.06.2009, aktualisiert 09:41 Uhr, 4883 Aufrufe, 4 Kommentare

Wie mein Titel schon sagt, möchte ich Ordner anlegen mit Namen aus einer Tabelle

was ich schon habe ist
01.
Sub CommandButton1_Click() 
02.
 
03.
Dim intIndex As Integer 
04.
 
05.
For intIndex = 3 To 15 
06.
  MkDir ("P:\Datenaustausch\Konstruktion\Ordner\" & Range("B" & intIndex).Value) 
07.
Next intIndex 
08.
 
09.
End Sub
klappt an sich auch schon sehr gut. Doch wenn ihr euch die dazugehörige Tabelle anschaut, merkt ihr dass es eine Problematik gibt.


10-000 MASCHINENBAU
10-200 Fertigungskomponenten
10-210 Grundrahmen Tankanlagen
10-220 Abdeckungen_Seitenwände
10-225 Isolierungen Thermisch
10-230 Gusstteile (z.B. Schmelzbehälter)
11-000 SCHMELZSYSTEME
11-110 Tanksysteme mit Kolbenpumpen 1
11-112 Tanksysteme mit Kolbenpumpen 2
11-120 Tanksysteme mit Kolbenpumpen 3
11-200 Tanksysteme mit Kolbenpumpen sonstige
12-110 Tanksysteme mit Zahnradpumpen 1
12-120 Tanksysteme mit Zahnradpumpen 2
12-200 Tanksysteme mit Zahnradpumpen Spezial
Ich hab eine Spalte Produktnummern und eine Spalte Bezeichnung. Jetzt ist es so, dass ich immer eine Nummer habe "XX-000" das ist sozusagen der Überordner und alles was nachfolgend kommt, gehört in den Ordner darunter. Problematisch wirds, da es auch sein kann dass es mehrere Ebenen gibt zB.
01.
Maschinenbau 
02.
03.
        |------------Fertigungskomponenten 
04.
                          |------------ Grundrahmen 
05.
                          |------------ Abdeckung 
06.
                          |------------ Isolierung 
07.
                          |------------ Gußteile 
08.
 
09.
Schmelzsysteme 
10.
11.
[usw...]
Hat einer ne hilftreiche Idee wie ich das bewerkstelligen kann?

Muss dazu sagen, bin in VBS ne Niete ;)
Mitglied: ShitzOvran
30.06.2009 um 10:03 Uhr
ok, hab mitlerweile das hier

01.
Sub CommandButton1_Click() 
02.
 
03.
Dim intIndex As Integer 
04.
 
05.
For intIndex = 3 To 4 
06.
 
07.
If Range("A" & intIndex) Like "*000" Then 
08.
MkDir ("P:\Datenaustausch\Konstruktion\Ordner\" & Range("B" & intIndex).Value) 
09.
Else 
10.
MkDir ("P:\Datenaustausch\Konstruktion\Ordner\" & Range("B" & intIndex - 1).Value & "\" & Range("B" & intIndex).Value) 
11.
 
12.
End If 
13.
 
14.
Next intIndex 
15.
 
16.
End Sub
jetzt macht er nur ein Fehler, da er jaimmer nur ein Zähler zurücksetzt... er muss ja aber solange den zähler zurücksetzten, bis er den Oberordner wieder hat.
Das Problem dann aber, wie soll er dann die Nächse Zeile verarbeiten?? Hach, is das alles schwierig
Bitte warten ..
Mitglied: ShitzOvran
30.06.2009 um 10:53 Uhr
so, habs jetzt... zumindest für zwei Ebenen

01.
Sub CommandButton1_Click() 
02.
 
03.
Dim intIndex As Integer 
04.
 
05.
For intIndex = 3 To 15 
06.
 
07.
If Range("A" & intIndex) Like "*000"  
08.
Then 
09.
          MkDir ("P:\Datenaustausch\Konstruktion\Ordner\" & Range("B" & intIndex).Value) 
10.
          Merker = 0 
11.
 
12.
Else 
13.
          Merker = Merker + 1 
14.
          MkDir ("P:\Datenaustausch\Konstruktion\Ordner\" & Range("B" & intIndex - Merker).Value & "\" & Range("B" & intIndex).Value) 
15.
 
16.
End If 
17.
 
18.
Next intIndex 
19.
 
20.
End Sub
Bitte warten ..
Mitglied: Eierbaer
30.06.2009 um 21:35 Uhr
Probiers einmal hiermit:

01.
Sub CommandButton1_Click() 
02.
   Dim strVerz(4)     As String 
03.
   Dim strNR(4)       As String 
04.
   Dim strAktuell    As String 
05.
   Dim intEbene      As Integer 
06.
   Dim intZeile      As Integer 
07.
   Dim strAusgabe    As String 
08.
   Dim i             As Integer 
09.
   intEbene = 0 
10.
    
11.
   'Startzeile 
12.
   intZeile = 3 
13.
    
14.
   'Solange in Zelle B ein Wert vorhanden 
15.
   While Range("B" & intZeile).Value <> "" 
16.
      strZellentext = Mid(Range("B" & intZeile).Value, 8) 
17.
      strAktuell = Left(Range("B" & intZeile).Value, 6) 
18.
       
19.
      'Ebene ermitteln 
20.
      If Left(strAktuell, 2) <> strNR(0) Then 
21.
         intEbene = 0 
22.
         strNR(0) = Left(strAktuell, 2) 
23.
      ElseIf Mid(strAktuell, 1, 4) <> strNR(1) Then 
24.
         intEbene = 1 
25.
         strNR(1) = Mid(strAktuell, 1, 4) 
26.
      ElseIf Mid(strAktuell, 1, 5) <> strNR(2) Then 
27.
         intEbene = 2 
28.
         strNR(2) = Mid(strAktuell, 1, 5) 
29.
      ElseIf Mid(strAktuell, 1, 6) <> strNR(3) Then 
30.
         intEbene = 3 
31.
         strNR(3) = Mid(strAktuell, 1, 6) 
32.
      End If 
33.
       
34.
      'Verzeichnisname merken 
35.
      strVerz(intEbene) = strZellentext 
36.
       
37.
      'Pfad zumsammenbasteln 
38.
      strAusgabe = "" 
39.
      For i = 0 To intEbene 
40.
         strAusgabe = strAusgabe + strVerz(i) + "\" 
41.
      Next i 
42.
       
43.
      'Pfad um den letzten Backslash kürzen 
44.
      strAusgabe = Left(strAusgabe, Len(strAusgabe) - 1) 
45.
      
46.
      MkDir ("P:\Datenaustausch\Konstruktion\Ordner\" & strAusgabe) 
47.
       
48.
      'Zeilenzähler erhöhen 
49.
      intZeile = intZeile + 1 
50.
 
51.
   Wend 
52.
    
53.
End Sub
Gruß Rüdiger aus Kiel
Bitte warten ..
Mitglied: bastla
30.06.2009 um 23:49 Uhr
... oder noch ein Ansatz (falls es so zu verstehen wäre, dass alle Ordnerebenen durch "-" voneinander getrennt sind, also es zB "XX-YYY-ZZZZ" geben kann ([Edit] Bei nochmaliger Betrachtung der Struktur wird's wohl nicht so sein - ich lass' den Code aber trotzdem stehen ... [/Edit]):
01.
BasisPfad = "P:\Datenaustausch\Konstruktion\Ordner" 
02.
Set fso = CreateObject("Scripting.FileSystemObject") 
03.
... 
04.
PfadUndName = Cells(intZeile, "A") 
05.
NurPfad = Split(PfadUndName)(0) 
06.
NurName = Trim(Mid(PfadUndName, Len(NurPfad))) 
07.
 
08.
OrdnerPfad = Basispfad 
09.
AlleOrdner = Split(NurPfad, "-") 
10.
For i = 0 To UBound(AlleOrdner) 
11.
    OrdnerPfad = OrdnerPfad & "\" & AlleOrdner(i) 
12.
    If Not fso.FolderExists(OrdnerPfad) Then fso.CreateFolder(OrdnerPfad) 
13.
Next 
14.
...
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Linux
Doku Wiki Tabelle anlegen
gelöst Frage von Fenris14Linux4 Kommentare

Guten Tag, folgendes Problem: Ich möchte auf einer Seite von DokuWiki eine Tabelle anlegen in folgendem Format Wenn ich ...

Windows 10
Ordner im Startmenü anlegen
Frage von SarekHLWindows 101 Kommentar

Hallo zusammen, hat schon jemand herausgefunden, wie man im Startmenü von Windows 10 Ordner anlegt, um die Programme nach ...

Batch & Shell
Verknüpfungen auf einen Ordner mit Batch anlegen
gelöst Frage von ActaresBatch & Shell6 Kommentare

Neuer Tag - Neues Problem ;) Ausgangslage: Ich habe zwei Daten Server: Projektleitung und Finanzen / Vertrieb. Mit einer ...

VB for Applications
VBS: Unterordner gleichen Namens verschieben
gelöst Frage von GurkenhobelVB for Applications3 Kommentare

Hallo Gemeinde, Ich habe auf einem Laufwerk 12 Unterordner (Januar Dezember) die wiederum jeweils sieben Unterordner (Montag Sonntag) umfassen ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 15 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 17 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...