Uložit jako txt ve Wordu z makra v Excelu

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Kurimak
nováček
Příspěvky: 17
Registrován: leden 16
Pohlaví: Muž
Stav:
Offline

Uložit jako txt ve Wordu z makra v Excelu

Příspěvekod Kurimak » 03 srp 2017 13:53

Zdravím,

mám v Excelu makro, z kterého na dálku ovládám ve Wordu uložení vloženého textu ve formátu txt.
Text se uloží, je však někde chyba v kódování textu. V otevřeném texťáku se mi zobrazí nesmysl.
Nevím, kde je chyba.
Výtah z kódu ve VBA:

  1. Cesta = ActiveWorkbook.Path + "\"
  2.  
  3. Set App = CreateObject("Word.Application")
  4. On Error Resume Next
  5. App.ActiveDocument.Delete Cesta + ActiveSheet.Name + "_seznam" + ".txt"
  6. App.Documents.Add
  7. App.Selection.TypeText Seznam
  8. App.ActiveDocument.SaveAs2 Filename:=Cesta + ActiveSheet.Name + "_seznam" + ".txt", FileFormat:= _
  9.         wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
  10.         WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
  11.          SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
  12.         False, Encoding:=1250, InsertLineBreaks:=False, AllowSubstitutions:=False _
  13.         , LineEnding:=wdCRLF, CompatibilityMode:=0
  14.  
  15.  
  16. App.ActiveDocument.Close
  17. App.Quit

Reklama
Uživatelský avatar
Microsheep
Level 4.5
Level 4.5
Příspěvky: 1656
Registrován: leden 10
Pohlaví: Muž
Stav:
Offline

Re: Uložit jako txt ve Wordu z makra v Excelu

Příspěvekod Microsheep » 03 srp 2017 14:40

Zkus tam nechat jenom jenom parametry FileName a FileFormat, stejně jsou to volitelné parametry, podle mě tam zbytek určitě nemusí být. VBA sice neznám. Jinak jsem zkusil v PowerShellu (ps1) vlastně to samé a funguje to.

Kód: Vybrat vše

$soubor = "C:\Users\tomasa\Desktop\lolo.docx"
$vystup = "C:\TEMP\soubor.txt"
$word = new-object -comobject word.application
$saveFormat = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat],"wdFormatText");
$doc = $word.Documents.Open($soubor)
$doc.SaveAs($vystup,$saveFormat)
$doc.Close()
$word.Quit()


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host