Ich möchte gerne mit FileWrite eine Word-Datei schreiben, nun soll die Schriftart von Word Arial und 12pt sein. Könnt Ihr mir helfen
FileWrite in Word
-
DJMANU -
2. August 2006 um 15:15 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
RTF kannst du schreiben. Oder ein ActiveX-Control von Word einbinden.
Word kann RTF öffnen.
UDF gibt es im englischen Forum.peethebee
-
Wie funktioniert das denn?
-
- Offizieller Beitrag
Frag Markus hier im Forum, der hat das schon verwendet.
Oder lies es selbst nach im Gamecenter-Skript.peethebee
-
OK also erstmal musst du ganz oben im Skript das hier machen:
Damit includest du die Datei, mit den Funktionen die du brauchst. (Download unten.) Du solltest sie in den selben Ordner tun, wie dein Code, sonst kann sie nicht includet werden (oder du änderst den pfad oben beim includen).
Aus der RTF_writer.au3 brauchst du diese 2 Funktionen:
Code_RTFCreateDocument($sDefFont) _RTFAppendString($RTF, $sText, $nColor, $iSize, $iFontStyle, $sFont)
Die ganzen Variablen sind Parameter, die du selbst angeben musst, also ich machs mal als Beispiel für deinen Text mit Arial und 12pt.
$temp ist der Rückgabewert von der Funktion. Mit dem kannst du jetzt weiter arbeiten.
Code$temp = _RTFAppendString($temp, "Das ist der Text, den du schreiben willst" , 0x6F6F6F, 12, 6, "Arial")
An $temp (was jetzt aus dem Text "Das ist der Text, den du schreiben willst" der Farbe 0x6F6F6F besteht, die Schriftgröße 12 hat....) kannst du auch noch einen weiteren RTF String anhängen, wieder mit _RTFAppendString(...,....,....,....,....,....)
Am Ende machst du dann einfach noch:
Die Datei kannst du dann mit Word öffnen.
RTF_writer.au3 von !!!!!!Lazycat!!!!!!!
-
Wie bekomme ich die Farbe Schwarz und Standard
-
- Offizieller Beitrag
Hier zumindest die HEX-Code Farbtabelle. Verwendung, wie von Markus beschrieben.
-
Und wie mach ich es das das geschriebene nicht kursiv und nicht unterstrichen ist
-
Das Funktioniert schon ich kriege bloß probleme mit der Text Ausrichtung da kann man wirklich nix einstellen, gibts da nicht noch was anderes? Oder kann man irgendwie anders ein Word dokument schreiben lassen? wichtig sind die verschiedenen Schriftgrößen und die Text Ausrichtung.
-
Zitat
Und wie mach ich es das das geschriebene nicht kursiv und nicht unterstrichen ist
kann mir einer sagen wie die unterstreichen funktion geht?
Edit: ahh ok habsmfg team2way
-
Gibts irgendwo ne andere UDF für Word Dokumente schreiben oder vielleicht Pdfs ? Weil mit nem normalen TXT Editor kann man ja keine Schriftgröße und Ausrichtung einstellen, dann müsste man alles mit Leerzeichen machen und dann kriegt man ein Problem wenn der Text Variabel ist, weil sich dann alles schön verschiebt
-
- Offizieller Beitrag
Hier mal ein kleines Bsp., wie du das realisiertst. Die Funktionen für Save und SaveAs findest du in der Word-UDF.
Spoiler anzeigen
[autoit]Const $wdAlignParagraphLeft = 0
[/autoit] [autoit][/autoit] [autoit]
Const $wdAlignParagraphCenter = 1
Const $wdAlignParagraphRight = 2
Const $wdAlignParagraphJustify = 3
Const $wdAlignParagraphDistribute = 4
Const $wdAlignParagraphJustifyMed = 5
Const $wdAlignParagraphJustifyHi = 7
Const $wdAlignParagraphJustifyLow = 8
Const $wdAlignParagraphThaiJustify = 9$oWord = ObjCreate("Word.Application")
[/autoit] [autoit][/autoit] [autoit]
$oWord.Visible = True
$oDoc = $oWord.Documents.Open ('C:\Test.doc')_Test_FormatRange($oWord, $oDoc)
[/autoit] [autoit][/autoit] [autoit]$oDoc.Close
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$oWord.QuitFunc _Test_FormatRange(ByRef $oWord, ByRef $oDoc)
[/autoit] [autoit][/autoit] [autoit]
; Bereich festlegen
; Range auf dritten Absatz festlegen
Local $rng = $oDoc.Paragraphs(3).Range
; oder Zeichen von - bis
;~ Local $rng = $oDoc.Range(10,20)
; oder Satz 6
;~ Local $rng = $oDoc.Sentences(6)
; oder Wort 1
;~ Local $rng = $oDoc.Words(1)
; oder gemixt, in Satz 5 das 4. Wort
;~ Local $rng = $oDoc.Sentences(5).Words(4); Formatieren
[/autoit] [autoit][/autoit] [autoit]
$rng.Font.Size = 14
$rng.Font.Name = "Arial"
$rng.Font.Color = 0x0000FF ; in BGR-Format
$rng.Font.Bold = True
; Alignement zentriert
$rng.ParagraphFormat.Alignment = $wdAlignParagraphCenter
Sleep (1000)
; Alignement rechts
$rng.ParagraphFormat.Alignment = $wdAlignParagraphRight
Sleep (1000)
; Alignement links
$rng.ParagraphFormat.Alignment = $wdAlignParagraphLeft
Sleep (1000)
; Alignement Blocksatz
$rng.ParagraphFormat.Alignment = $wdAlignParagraphJustifySleep (1000)
[/autoit]
$rng.Font.Bold = False
EndFunc -
- Offizieller Beitrag
[autoit]; *******************************************************
[/autoit]
; Beispiel 1 - Erstellt ein Word-fenster, öffnet ein Dokument, sucht nach "dies",
; ersetzt alle Vorkommnisse mit "DIES", schließt Word ohne die Änderungen zu speichern.
; *******************************************************
;
#include <Word.au3>
$oWordApp = _WordCreate(@ScriptDir & "\Test.doc")
$oDoc = _WordDocGetCollection($oWordApp, 0)
$oFind = _WordDocFindReplace($oDoc, "dies", "DIES")
If $oFind Then
MsgBox(0, "Suchbegriff", "Gefunden und ersetzt.")
Else
MsgBox(0, "Suchbegriff", "Nicht gefunden")
EndIf
_WordQuit($oWordApp, 0)Aus: http://www.autoit.de/dokumentation_…FindReplace.htm
Edit: @team2way: Bitte keine Posts leeren, das ist nicht der Sinn eines Forums, der Zusammenahang und damit der Nutzwert für andere geht verloren.
peethebee
-
Ich danke euch
-
Zitat[autoit]Alles anzeigen
; *******************************************************
[/autoit]
; Beispiel 1 - Erstellt ein Word-fenster, öffnet ein Dokument, sucht nach "dies",
; ersetzt alle Vorkommnisse mit "DIES", schließt Word ohne die Änderungen zu speichern.
; *******************************************************
;
#include <Word.au3>
$oWordApp = _WordCreate(@ScriptDir & "\Test.doc")
$oDoc = _WordDocGetCollection($oWordApp, 0)
$oFind = _WordDocFindReplace($oDoc, "dies", "DIES")
If $oFind Then
MsgBox(0, "Suchbegriff", "Gefunden und ersetzt.")
Else
MsgBox(0, "Suchbegriff", "Nicht gefunden")
EndIf
_WordQuit($oWordApp, 0)
obwohl die datei und das wort existiere kam die meldung nicht gefunden... -
[autoit]
; *******************************************************
[/autoit]
; Beispiel 1 - Erstellt ein Word-fenster, öffnet ein Dokument, sucht nach "dies",
; ersetzt alle Vorkommnisse mit "DIES", schließt Word ohne die Änderungen zu speichern.
; *******************************************************
;
#include <Word.au3>
$oWordApp = _WordCreate(@ScriptDir & "\Test.doc")
$oDoc = _WordDocGetCollection($oWordApp, 0)
$oFind = _WordDocFindReplace($oDoc, "dies", "DIES")
If $oFind = 1 Then
MsgBox(0, "Suchbegriff", "Gefunden und ersetzt.")
Else
MsgBox(0, "Suchbegriff", "Nicht gefunden")
EndIf
_WordQuit($oWordApp, 0)Ungetestet und nicht viel verändert
-
bei mir kommt immer noch die meldung - nicht gefunden
kann man das ganze vllt vor dem schließen noch speichern
(vllt das sich das wordfenster nich öffnet - hide)
???