< návrat zpět
MS Excel
Téma: VBa vs VBscript
Zaslal/a Jeza.m 3.5.2017 18:16
Zdravím,
Rád bych se zeptal je-li tady někdo znalý vbscriptu, kdo by mě pomohl nasměrovat správným směrem.
V příloze mám 3 soubory, kdy
- pokus.txt je zdroj dat
- pokus.vbs by měl daný soubor zpracovat a uložit jako pokus xlsx, bohužel nějak mi o nefunguje a nějak už si nevím rady.
- pokus_vba.xlsm udělá to co by měl udělat ten script, akorát, že to udělá pomocí vba přímo v excelu.
Ano, můžu využít tento pomocný soubor, ale elegantnější by to bylo přímo z toho scriptu bez nutnosti existence pomocného souboru.
Předem děkuji za případné tipy :-)
M@
Příloha: 36225_automat.zip (15kB, staženo 38x)
eLCHa(4.5.2017 8:56)#036226 Možná se mu nelíbí tento způsob přiřazení objektu:
Set xlsWorkBook = xlsApp.Workbooks.OpenText (...)Tohle mi prošlo:
Cesta = left(WScript.ScriptFullName,len(WScript.ScriptFullName)-len(WScript.ScriptName))
Soubor = "POKUS.TXT"
Dim xlsApp
Set xlsApp = CreateObject("Excel.Application")
With xlsApp
On Error Resume Next
.Workbooks.OpenText Cesta & Soubor, 65001, 1, 1, , False, True, False, False, False, False, , Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15, 2), Array(16, 4), Array(17, 4), Array(18, 1), Array(19, 1)), , ".", ",", False
If Not Err.Number = 0 Then
MsgBox Err.Description
End If
On Error GoTo 0
If .Workbooks.Count = 1 Then
With .ActiveWorkbook
On Error Resume Next
.SaveAs Cesta & "Pokus.xlsx", 51
If Not Err.Number = 0 Then
MsgBox Err.Description
End If
On Error GoTo 0
.Close
End With '.ActiveWorkbook
End If
.Quit
End With 'xlsApp
Set xlsApp = Nothingcitovat
Jeza.m(4.5.2017 17:31)#036243 Super, funguje. Moc Děkuji.
Trochu pozměnit postup a jde to :-), sám bych se s tím asi trápil asi hodně dlouho.
Díky
M@
citovat