Stránka 1 z 1

Uložit jako txt ve Wordu z makra v Excelu

Napsal: 03 srp 2017 13:53
od Kurimak
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

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

Napsal: 03 srp 2017 14:40
od Microsheep
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()