Bonjour,

Je souhaite passer dans le ThreadPool un bloc de code lourd à exécuter cependant le code ci dessous ne renvoi rien, c'est comme ci il rentre même dans la méthode TEST, merci de votre retour sur mon grand problème.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
 
public void TEST()
        { 
            Object oMissing = System.Reflection.Missing.Value;
            Object oTrue = true;
            Object oFalse = false;
            Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();
            oWord.Visible = true;
            oWord.Visible = false;
            Object oTemplatePath = @".\1.doc";
            oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);         
 
            foreach (Microsoft.Office.Interop.Word.Range range in oWordDoc.Words)
            {
                if (range.Text.Trim().Contains("P"))
                {
                    int pos = range.Text.Trim().IndexOf("P");
                    string str = range.Text.Trim().Replace("P", "");
                    range.Text = str;
                }
 
            }
            Object oSaveAsFile = "./2.doc";
            oWordDoc.SaveAs(ref oSaveAsFile, ref oMissing, ref oMissing, ref oMissing,
            ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            ref oMissing, ref oMissing);
 
            oWordDoc.Close(ref oFalse, ref  oMissing, ref oMissing);
            oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
        }
 
        static void Main(string[] args)
        {
 
 
                Program test = new Program();
                ThreadPool.QueueUserWorkItem(o => test.TEST());
        }