Bonjour,
Est ce possible d'ecrire dans un fichier txt en mettant le text en gras ?
En gros j'écris une valeur que je récupère et j'aimerai que certaines valeurs soient en gras.
Merci d'avance.
Version imprimable
Bonjour,
Est ce possible d'ecrire dans un fichier txt en mettant le text en gras ?
En gros j'écris une valeur que je récupère et j'aimerai que certaines valeurs soient en gras.
Merci d'avance.
non ..
par définition un fichier texte ne comporte que du texte il n'est pas question de police ou de format ....
est-tu sur d'utiliser un fichier texte "pur" .. n'utilise tu pas un autre format de fichier..?
Je peux sinon créer un fichier word mais je suis tjs bloqué car je ne trouve pas comment mettre une variable en gras.
montre un morceau de ton code entre balises [code] ... [/code]
histoire de voir comment tu crée un fichier word ..?
Code:
1
2
3
4 Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:\pingko.doc", ForAppending,true) f.Write(strhost & vbCrLf ) f.close
:nono:
OpenTextFile :arrow: en français ouvrir un fichier texte
il ne suffit pas de changer l'extension (.doc) pour transformer un fichier texte en fichier word ;)
si tu as Word d'installé sur le PC ou doit d’exécuté ton script tu peu le piloter word en automation pour créer ton fichier
ok mais apres comment est ce que je peux avec mon script envoyé une variable en gras dans le fichier ?
Pour créer un document Word(.doc par exemple) et y écrire une phrase :puis l'enregistrerCode:
1
2
3
4
5 Set WD =CreateObject("Word.Application") WD.Documents.Add WD.Visible = True WD.Documents(1).Range.InsertAfter "Bonjour le forum DVP" WD.Documents(1).SaveAs "C:\Test.doc"
Oui ca je n'ai pas de problème mais ce que j'aimerai, c'est écrire dedans en gras pour certaines valeurs.
Par exemple :
Code:
1
2
3
4
5
6 if valeur = 0 then text gras else text normal end if
Adapte selon ton besoin :A toi maintenant de construire une fonction ou procédure qui recherche le mot à mettre en forme et que tu intègreras à ce code. Les modifications à apporter seront au niveau de la sélection(ligne 5)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Set WD =CreateObject("Word.Application") WD.Documents.Add WD.Visible = True WD.Documents(1).Range.InsertAfter "Bonjour le forum DVP" WD.Documents(1).Range(11,16).select ' le mot forum sera mis en forme With WD.Selection.Font .Size = 20 .Italic = True .Bold = True .Underline = True .Strikethrough = True End With WD.Documents(1).SaveAs "C:\Test.doc"
Alors c'est bon j'arrive a mettre ma valeur en gras par contre, ca m'ouvre un nouveau fichier word a chaque fois au lieu de mettre tout dans le même fichier a la suite en sautant une ligne :(
Si le fichier existe déjà, tu peux faire ceci :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Set WD = CreateObject("Word.Application") WD.Documents.Open "C:\Test.doc" WD.Visible = True WD.Documents(1).Range.InsertAfter "Bonjour le forum DVP" & vbNewLine 'Avec retour à la ligne WD.Documents(1).Range(11, 16).Select ' le premier mot forum sera mis en forme With WD.Selection.Font .Size = 20 .Italic = True .Bold = True .Underline = True .Strikethrough = True End With WD.Documents(1).SaveAs "C:\Test.doc"
Cool ca fonctionne.
Faut juste ajouter WD.quit sinon ca indique que le fichier est en lecture seul.
Merci @tous.
Bon en fait ca ne fonctionne pas correctement.
J'ai fait :
if ping ko then
nom de machine en gras
else
nom de machine pas en gras
mais en fait ca met tous en gras quelque soit le résultat.
pourtant dans mon fichier les noms apparaissent bien les un apres les autres.