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

XLS in CSV Problem mit VBS Fehler 13 (Typen unverträglich)

Frage Microsoft Microsoft Office

Mitglied: big-bastian

big-bastian (Level 1) - Jetzt verbinden

12.09.2012 um 10:48 Uhr, 4042 Aufrufe, 1 Kommentar

Hallo zusammen,

ich habe hier im Forum ein Super Skript zum Umwandeln von XLS in CSV gefunden welches auch super läuft. Doch jetzt habe ich den der XLS Datei eine Formel und bekomme beim umwandeln den Fehler 13 (Typen unverträglich). Wenn ich die Formel in F2 entferne läuft das Skript ohne Probleme. Kann mir jemand helfen?

1a5863557157338c1b8aa04c9f83ef44 - Klicke auf das Bild, um es zu vergrößern


Batch Datei für den Aufruf es VBS Skript:
01.
@echo off & setlocal 
02.
for /f "delims=" %%i in ('cscript //nologo "C:\test\neu\xls2csv.vbs" "C:\test\neu\PERMANENTE.XLS"') do set Erg=%%i 
03.
If "%Erg%"=="OK" goto :Weiter 
04.
If "%Erg%" neq "" echo %Erg% 
05.
::Fehlermeldung lesen lassen ... 
06.
pause 
07.
goto :eof 
08.
:Weiter 
09.
echo Hier geht es nach der Konvertierung weiter ... 

Hier VBS Skript:
01.
'XLS2CSV.vbs 
02.
Const TABELLE = "Tabelle1" 'Zu exportierende Daten in "Tabelle1" ... 
03.
Const ABZEILE = 1          '... beginnen in Zeile 1 ... 
04.
Const ABSPALTE = 1         '... und Spalte A ... 
05.
Const ANZSPALTEN = 15       '... und umfassen 15 zusammenhängende Spalten. 
06.
 
07.
Const ZIELPFAD = "C:\test\neu\" 'Zielpfad mit abschließendem \ angeben 
08.
Const TRENN = ";"          'Trennzeichen 
09.
 
10.
Dim oDatei 
11.
Set fso = CreateObject("Scripting.FileSystemObject") 
12.
If WScript.Arguments.Count < 1 Then 
13.
	WScript.Echo "Angabe der Excel-Datei erforderlich!" 
14.
	WScript.Quit(1) 
15.
End If 
16.
 
17.
Set oArgs = WScript.Arguments 
18.
sXLDat = oArgs(0) 
19.
If Not fso.FileExists(sXLDat) Then 
20.
	WScript.Echo sXLDat & " nicht gefunden!" 
21.
	WScript.Quit(1) 
22.
End If 
23.
 
24.
sXLSDatei = fso.GetFile(sXLDat).Path 'Vollständigen Dateinamen mit Pfad ermitteln 
25.
If LCase(Right(sXLSDatei, 4)) <> ".xls" Then 
26.
	WScript.Echo "Angabe einer Excel-Datei (Typ .xls) erforderlich!" 
27.
	WScript.Quit(1) 
28.
End If 
29.
 
30.
sXLSPfad = Left(sXLSDatei, InStrRev(sXLSDatei, "\")) 'Pfad mit abschließendem "\" 
31.
sXLSName = Mid(sXLSDatei, InStrRev(sXLSDatei, "\") + 1) 
32.
sDateiName = Left(sXLSName, Len(sXLSName) - 4) 'ohne ".xls" 
33.
 
34.
DATEI = sXLSPfad & sDateiName & ".CSV" 'Zieldatei 
35.
Set oDatei = fso.OpenTextFile(DATEI, 2, True) 'Datei immer neu erstellen 
36.
 
37.
On Error Resume Next 
38.
Set XL = WScript.CreateObject("Excel.Application") 
39.
If Err.Number Then Fehler Err.Number, Err.Description 
40.
Set oWB = XL.Workbooks.Open(sXLSDatei) 
41.
If Err.Number Then Fehler Err.Number, Err.Description 
42.
    
43.
iZeile = ABZEILE 
44.
With oWB.Worksheets(TABELLE) 
45.
	If Err.Number Then Fehler Err.Number, Err.Description 
46.
    Do While .Cells(iZeile, ABSPALTE).Value <> "" 
47.
        sZeile = .Cells(iZeile, ABSPALTE).Value 
48.
        For i = 2 To ANZSPALTEN 
49.
            sZeile = sZeile & TRENN & .Cells(iZeile, ABSPALTE + i - 1).Value 
50.
        Next 
51.
        oDatei.WriteLine sZeile 
52.
		If Err.Number Then Fehler Err.Number, Err.Description 
53.
        iZeile = iZeile + 1 
54.
		If Zeile > 65536 Then Exit Do 
55.
    Loop 
56.
End With 
57.
 
58.
oDatei.Close 
59.
oWB.Saved = True 
60.
XL.Application.Quit 
61.
WScript.Echo "OK" 
62.
 
63.
Sub Fehler(Fehlernummer, Fehlertext) 
64.
WScript.Echo "Fehler " & Fehlernummer & " (" & Fehlertext & ") aufgetreten!" 
65.
oWB.Saved = True 
66.
XL.Application.Quit 
67.
WScript.Quit(Err.Number) 
68.
End Sub
Mitglied: Biber
12.09.2012, aktualisiert um 16:18 Uhr
Moin big-bastian,

ich denke, das Problem ist ein nicht ganz unverschuldetes Zusammentreffen ünglücklicher Umstände.

Die Funktion "Arbeitstag()" war bis inclusive Excel 2003 nur dann verfügbar,
wenn in der Excelmappe das AddIn "Analyse-Funktionen" (und ggf. auch noch "Analyse-Funktionen für VBA") eingebunden war.

Ab Excel 2007 ist diese Funktion ohne AddIn verfügbar.

Deine Excel-Datei mit der Endung .xls wird vermutlich als "Excel-Datei 97-2003" geöffnet - und das fehlt dieses AddIn dann.

Mögliche Abhilfe(n):
  • Die Ausgangsdatei mal nicht im Kompat-Modus, sondern als ".xlsx" speichern, falls du ein Excel 2007/2010 hast
  • im .xls-Format sicherstellen, dass die Addin-Verweise gesetzt sind
  • die Funktion "Arbeitstage" durch eine eigene Formel nachbilden, Vorlagen dafür z.B. auf excelformeln.de

So zumindest meine Vermutung - aber ich bin auch nicht der Excel/VBA-Spezialist.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
VBS Script um Emailadressen aus einer TXT, CSV oder XLS-Datei zu lesen
gelöst Frage von Privex007Batch & Shell5 Kommentare

Hallo zusammen, ich benötige eine Möglichkeit meine Dateien (txt, csv und xls) zu durchforsten und meine Mailadressen in eine ...

VB for Applications
CSV Datei mit VBS auslesen
Frage von scorpionesc83VB for Applications4 Kommentare

Hallo zusammen, ich bin in Sachen VBS ein totaler Anfänger und hoffe, dass ihr mir bei einem Problem helfen ...

XML
CSV bzw. XLS Dateien in ein XML Schema einbinden
gelöst Frage von fisi-floXML3 Kommentare

Hallo allerseits, bisher habe ich von Lieferanten immer unterschiedliche Preislisten der Lieferanten im CSV oder XLS Dateiformat bekommen. Selbst ...

Windows Server
Powershell Daten sortiert in CSV XLS exportieren
gelöst Frage von earthheroWindows Server2 Kommentare

Schönen guten Tag zusammen, ich habe mir aus dem Internet ein entsprechendes Skript zur Auswertung von WSUS Update zusammengebastelt, ...

Neue Wissensbeiträge
Batch & Shell

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

Information von Penny.Cilin vor 12 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 14 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 ...