Otevření souborů ve Visual Basic a export na *.txt – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Otevření souborů ve Visual Basic a export na *.txt – Visual Basic – Fórum – Programujte.comOtevření souborů ve Visual Basic a export na *.txt – Visual Basic – Fórum – Programujte.com

 

oxidián0
Grafoman
6. 7. 2021   #1
-
0
-

Zkouším napsat makro pro Visual Basic verze 6.2, kde chci otevřít soubory .xls a vyexportovat je na .txt

Zatím mám toto:

Sub FromExcelToNpad()
    'export activesheet as txt file
    Dim my_files As String
    Dim folder_path As String
    Dim wb As Workbook, NewWB As Workbook
    Dim ws As Worksheet
    Dim SrcRange As Range
    folder_path = "u:\test"
    my_files = Dir(folder_path & "\*.xls", vbDirectory)
    Do While my_files <> vbNullString
       Set wb = Workbooks.Open(folder_path & "\" & my_files)
       Set ws = wb.Sheets(1)
       Set NewWB = Workbooks.Add
       ws.Activate
       ws.Select
       Set SrchRange = ActiveSheet.Range(Cells(2, 1))
       wb.ActiveSheet.UsedRange.Copy NewWB.Sheets(1).Range("A1")
       wb.Close True
       
       my_files = Dir()
    Loop

End Sub

A nedaří se mi zkopířovat ten rozsah. To co se snažím udělat je zkopírovat B1 a vložit do nového souboru s prázdným sešitem do A1. Následně bych chtěl zkopírovat (hodnoty, ne vzorce!) vše z A3:B7 a do toho nového sešitu na totéž místo. Pak zkopírovat K1:U57 a vložit do toho nového souboru/sešitu do C1 ... A pak to uložit s jinou koncovkou...

Pomůžete mi, prosím?

Nahlásit jako SPAM
IP: 94.113.175.–
oxidián0
Grafoman
6. 7. 2021   #2
-
0
-

Update kodu. Nedaří se mi to uložit. Hází to dialog že na stránce je velké množství textu a zda se to má zahodit. Jak se toho zbavit? A potom to hodí runtime error, automation error.

Sub FromExcelToNpad()
    'export activesheet as txt file
    Dim my_files As String
    Dim folder_path As String
    Dim wb As Workbook, NewWB As Workbook
    Dim ws As Worksheet
    folder_path = "u:\test"
    my_files = Dir(folder_path & "\*.xls", vbDirectory)
    Do While my_files <> vbNullString
       Set wb = Workbooks.Open(folder_path & "\" & my_files)
       Set ws = wb.Sheets(1)
       Set NewWB = Workbooks.Add
       ws.Range("B1").Copy NewWB.Sheets(1).Range("A1")
       ws.Range("B3:B57").Copy NewWB.Sheets(1).Range("A3:A57")
       ws.Range("K1:U57").Copy
       NewWB.Sheets(1).Range("B1:L57").PasteSpecial xlValues
       wb.Close True
       Application.ScreenUpdating = False
       With NewWB
            Application.DisplayAlerts = False
            .SaveAs Filename:=folder_path & "\" & my_files, FileFormat:=xlText
            .Close True
            Application.DisplayAlerts = True
       End With
       wb.Save
       Application.ScreenUpdating = True
       my_files = Dir()
    Loop
    
End Sub

Nahlásit jako SPAM
IP: 94.113.175.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý