J'utilise C# bureau (mot) automatisation par Microsoft Office 12.0 Object Library. Et j'ai ouvert un fichier "1.doc" et j'ai besoin de vérifier si ce fichier a une couleur d'arrière-plan ou non.Comment connaître la couleur de fond du document de mot ms en utilisant C#
Note: Je veux dire la couleur de fond appliquée par les étapes suivantes:
- Ouvrir MS Word 2003, et ouvrir un document.
- Aller à: Format menu ->Contexte et choisissez la couleur.
Et voici ce que j'ai en C#:
Object oMissing = System.Reflection.Missing.Value;
//OBJECTS OF FALSE AND TRUE
Object oTrue = true;
Object oFalse = false;
Object fileName = "c:\\1.doc";
//CREATING OBJECTS OF WORD AND DOCUMENT
Word.Application oWord = new Word.Application();
Word.Document oWordDoc = new Word.Document();
//MAKING THE APPLICATION VISIBLE
oWord.Visible = true;
//ADDING A NEW DOCUMENT TO THE APPLICATION
oWordDoc = oWord.Documents.Open(
ref fileName, ref oMissing, ref oFalse, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oTrue, ref oMissing, ref oMissing, ref oMissing);
Console.WriteLine(oWordDoc.Background.Fill.ForeColor.RGB);
Console.WriteLine(oWordDoc.Background.Fill.BackColor.RGB);
Je ne sais pas si le ForeColor ou BackColor représentent la couleur que j'ai besoin, j'ai essayé de choisir différentes couleurs d'arrière-plan et exécuté le code ci-dessus et chaque fois que j'ai une valeur entière différente comme (10092543, 255 pour le rouge, ....) mais cela n'a pas de sens, et le BackColor n'est jamais changé et fixé à la valeur (16777215). Merci beaucoup.
Merci beaucoup 0xA3. J'ai une question: Lorsque j'imprime la variable rouge, il imprime la valeur de la couleur bleue et vice-versa, pouvez-vous m'aider s'il vous plaît. – Saeed
@Seed: Voir la mise à jour. –
Merci beaucoup 0xA3 pour votre réponse directe, Tout est OK, mais j'ai une question: quand je mets la couleur de fond à un document et exécute mon code, j'obtiens la bonne valeur RVB, et quand je change de couleur obtenir également la valeur RVB correcte, mais lorsque je supprime l'arrière-plan en sélectionnant (Pas de remplissage), j'obtiens toujours la dernière valeur de couleur. – Saeed