Příspěvky uživatele


< návrat zpět

Hotovo. Vše funguje podle mých představ. Ještě jednou díky za pomoc.

Lubomír

Dodatečně přeji hezký den a moc děkuji za vytvořené makro. Ve Vašem kódu jsem se ještě nezorientoval, ale vše funguje. Kódování textového souboru vyhovuje. Následný program ho bere. Vyhovuje i to, že se textové soubory ukládají do adresáře, ve kterém je sešit. Problém je jenom jejich název. V adresáři může být a často bývá více sešitů. Vytvářely by se potom textové soubory se shodným názvem. Aby vše zapadalo do systému měl by být název souboru poskládaný z údajů na listu "SOR" takto:
pro list SOR: [B17]_[B19]_[B20].txt
pro listy 500x: [B17]_[B19]_[B20]_500x.zap

Až porozumím Vašemu kódu, asi bych takovou úpravu zvládnul sám, ale kdybyste byl ochotný makro upravit, budu rád.

- Jedná se vždy jen o číselné hodnoty.
- Jestli narážíte na formát xlUnicodeText, je to náhodně zvolený formát. Nejdříve jsem zkusil xlText, ale textový soubor se nevytvořil, tak jsem zůstal u prvního formátu, který fungoval. Teoreticky by mělo stačit nejjednodušší kódování. Zatím vytvářím textové soubory ručním kopírováním do poznámkového bloku a ukládáním. Tuto kompatibilitu textových souborů bych chtěl zachovat pro případ potřeby ručního vytvoření nebo editace souboru v notepadu. Program, který s textovými soubory dále pracuje, je nastevený na nějaké kódování. To se dá nejspíš změnit, ale mohl by potom být problém s načítáním souborů vytvořených v notepadu. Nechci zasahovat do něčeho, co dlouhodobě funguje a je vyzkoušené.
- Kromě sloupce A, kde jsou celá čísla a musí to tak být, mají všechna ostatní čísla 4 desetinná místa.
- Desetinný oddělovač je tečka a musí to tak být.
- V drtivé většině případů je "výška stroje/cíle" 0.0000, ale může se stát, že hodnota bude jiná. V textovém souboru ten sloupec musí být.

Původně jsem úlohu chtěl řešit kopírováním oblasti do textového souboru ale nevěděl jsem, jak to naprogramovat. Ukládání listu je náhradní řešení a nebráním se jinému.

Teprve teď jsem si všimnul přílohy. Podívám se na ni.

Děkuji.

Děkuji za upozornění. Přílohu jsem uložil znovu, stahování by již mělo fungovat.

Lubomír

Dobrý den,

prosím o radu, nevím, kde dělám chybu. Napsal jsem si makro na export listu do textového souboru. Zdrojový list ("TXT_5001") je v aktivním sešitu. Textový soubor ("Z:\pokus_export.zap") se na zadaném místě správně vytvoří. Až potud vše funguje podle očekávání. Zároveň ale makro zdrojový list přejmenuje z původního "TXT_5001" na "pokus_export" a celý sešit se uloží jako "pokus_export.zap" do aktuálního adresáře. Nový sešit má příponu "zap", ale je to XLS. Používám Excel 2003 (jsem na něj zvyklý). Sešit včetně makra dávám do přílohy.

Děkuji za pomoc.

Sub Export_txt_5001()

' Zkopírování dat do prázdného listu
Sheets("5001").Range("vyber_copy_5001").Copy
Sheets("TXT_5001").Range("A1").PasteSpecial xlPasteValues

' Vymazání nepotřebných řádků
Application.Goto ActiveWorkbook.Sheets("TXT_5001").Range("A1")
Dim i As Byte
For i = 1 To 220 Step 1
Dim var_hodnota_ve_sloupci_a As Variant
var_hodnota_ve_sloupci_a = ActiveCell.Value
If var_hodnota_ve_sloupci_a = 0 Or var_hodnota_ve_sloupci_a = "" Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next i

' Export listu do textového souboru
Sheets("TXT_5001").SaveAs Filename:="Z:\pokus_export.zap", FileFormat:=xlUnicodeText, CreateBackup:=False, Local:=False

End Sub


Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse