![]() |
How to write in Word w/o Reference
Hello,
I need to write data and symbols in a Word document, without any Reference to Microsoft Word 11.0 because another application is disturbed by such a reference. So I tried the folowing macro, but the wdAlignParagraphCenter and .Color = wdColorRed don't work until I reset the reference. What can I do ? Thanks for your help. Gérard Public Sub CALL_WORD() Dim wrdApp As Object Dim wrdDoc As Object Dim MyTable4 As Object Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open(FileName:="D:\Mes documents\Pilotage\Fiche Pilotage 3 WPs V2.doc") Set MyTable4 = wrdDoc.Tables(4) MyTable4.Cell(Row:=4, Column:=11).Range.Text = Chr(236) 'Chr(236) 'Flèche ascendante MyTable4.Cell(Row:=4, Column:=11).Range.Select wrdDoc.Application.Selection.ParagraphFormat.Align ment = wdAlignParagraphCenter 'Doesn't work!!! With wrdDoc.Application.Selection.Font .Name = "Wingdings" .Size = 16 .Bold = True .Color = wdColorRed ''Doesn't work!!! End With wrdDoc.Close SaveChanges:=True wrdApp.Quit Set wrdApp = Nothing Set wrdDoc = Nothing End Sub |
How to write in Word w/o Reference
Hi,
I've just answered your related post before reading this one. On this 'wdAlignParagraphCenter' is only known when the reference is set. wdAlignParagraphCenter will be part of an enumeration & therefore have a numeric representation (just checked, it is 1). You would need to either validate (or assume - as it probably is) that it was the same in all versions & use the number, or, better set up your own enumeration within your code (public type) with scope as required. Regards, Chris. -- Chris Marlow MCSD.NET, Microsoft Office XP Master "Gérard Ducouret" wrote: Hello, I need to write data and symbols in a Word document, without any Reference to Microsoft Word 11.0 because another application is disturbed by such a reference. So I tried the folowing macro, but the wdAlignParagraphCenter and .Color = wdColorRed don't work until I reset the reference. What can I do ? Thanks for your help. Gérard Public Sub CALL_WORD() Dim wrdApp As Object Dim wrdDoc As Object Dim MyTable4 As Object Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open(FileName:="D:\Mes documents\Pilotage\Fiche Pilotage 3 WPs V2.doc") Set MyTable4 = wrdDoc.Tables(4) MyTable4.Cell(Row:=4, Column:=11).Range.Text = Chr(236) 'Chr(236) 'Flèche ascendante MyTable4.Cell(Row:=4, Column:=11).Range.Select wrdDoc.Application.Selection.ParagraphFormat.Align ment = wdAlignParagraphCenter 'Doesn't work!!! With wrdDoc.Application.Selection.Font .Name = "Wingdings" .Size = 16 .Bold = True .Color = wdColorRed ''Doesn't work!!! End With wrdDoc.Close SaveChanges:=True wrdApp.Quit Set wrdApp = Nothing Set wrdDoc = Nothing End Sub |
How to write in Word w/o Reference
these represent constants that are defined in the Word object library. When
you late bind, these constants are not defined and are just undefined/uninitialized variables and result in a value of zero. The solution is to use there defined value instead of the constant. instead of .Color = wdColorRed you would do ? wdred 6 .color = 6 ? wdAlignParagraphCenter 1 so wrdDoc.Application.Selection.ParagraphFormat.Align ment = 1 as examples. to get the values, ? wdAlignParagraphCenter 1 is from the immediate window of excel after creating a reference to word. -- Regards, Tom Ogilvy "Gérard Ducouret" wrote: Hello, I need to write data and symbols in a Word document, without any Reference to Microsoft Word 11.0 because another application is disturbed by such a reference. So I tried the folowing macro, but the wdAlignParagraphCenter and .Color = wdColorRed don't work until I reset the reference. What can I do ? Thanks for your help. Gérard Public Sub CALL_WORD() Dim wrdApp As Object Dim wrdDoc As Object Dim MyTable4 As Object Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open(FileName:="D:\Mes documents\Pilotage\Fiche Pilotage 3 WPs V2.doc") Set MyTable4 = wrdDoc.Tables(4) MyTable4.Cell(Row:=4, Column:=11).Range.Text = Chr(236) 'Chr(236) 'Flèche ascendante MyTable4.Cell(Row:=4, Column:=11).Range.Select wrdDoc.Application.Selection.ParagraphFormat.Align ment = wdAlignParagraphCenter 'Doesn't work!!! With wrdDoc.Application.Selection.Font .Name = "Wingdings" .Size = 16 .Bold = True .Color = wdColorRed ''Doesn't work!!! End With wrdDoc.Close SaveChanges:=True wrdApp.Quit Set wrdApp = Nothing Set wrdDoc = Nothing End Sub |
How to write in Word w/o Reference
Using the hard coded number should be robust for any version that supports
that object/property/method -- Regards, Tom Ogilvy "Chris Marlow" wrote: Hi, I've just answered your related post before reading this one. On this 'wdAlignParagraphCenter' is only known when the reference is set. wdAlignParagraphCenter will be part of an enumeration & therefore have a numeric representation (just checked, it is 1). You would need to either validate (or assume - as it probably is) that it was the same in all versions & use the number, or, better set up your own enumeration within your code (public type) with scope as required. Regards, Chris. -- Chris Marlow MCSD.NET, Microsoft Office XP Master "Gérard Ducouret" wrote: Hello, I need to write data and symbols in a Word document, without any Reference to Microsoft Word 11.0 because another application is disturbed by such a reference. So I tried the folowing macro, but the wdAlignParagraphCenter and .Color = wdColorRed don't work until I reset the reference. What can I do ? Thanks for your help. Gérard Public Sub CALL_WORD() Dim wrdApp As Object Dim wrdDoc As Object Dim MyTable4 As Object Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open(FileName:="D:\Mes documents\Pilotage\Fiche Pilotage 3 WPs V2.doc") Set MyTable4 = wrdDoc.Tables(4) MyTable4.Cell(Row:=4, Column:=11).Range.Text = Chr(236) 'Chr(236) 'Flèche ascendante MyTable4.Cell(Row:=4, Column:=11).Range.Select wrdDoc.Application.Selection.ParagraphFormat.Align ment = wdAlignParagraphCenter 'Doesn't work!!! With wrdDoc.Application.Selection.Font .Name = "Wingdings" .Size = 16 .Bold = True .Color = wdColorRed ''Doesn't work!!! End With wrdDoc.Close SaveChanges:=True wrdApp.Quit Set wrdApp = Nothing Set wrdDoc = Nothing End Sub |
How to write in Word w/o Reference
Thanks a lot Tom !
Gérard "Tom Ogilvy" a écrit dans le message de ... these represent constants that are defined in the Word object library. When you late bind, these constants are not defined and are just undefined/uninitialized variables and result in a value of zero. The solution is to use there defined value instead of the constant. instead of .Color = wdColorRed you would do ? wdred 6 .color = 6 ? wdAlignParagraphCenter 1 so wrdDoc.Application.Selection.ParagraphFormat.Align ment = 1 as examples. to get the values, ? wdAlignParagraphCenter 1 is from the immediate window of excel after creating a reference to word. -- Regards, Tom Ogilvy "Gérard Ducouret" wrote: Hello, I need to write data and symbols in a Word document, without any Reference to Microsoft Word 11.0 because another application is disturbed by such a reference. So I tried the folowing macro, but the wdAlignParagraphCenter and .Color = wdColorRed don't work until I reset the reference. What can I do ? Thanks for your help. Gérard Public Sub CALL_WORD() Dim wrdApp As Object Dim wrdDoc As Object Dim MyTable4 As Object Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Open(FileName:="D:\Mes documents\Pilotage\Fiche Pilotage 3 WPs V2.doc") Set MyTable4 = wrdDoc.Tables(4) MyTable4.Cell(Row:=4, Column:=11).Range.Text = Chr(236) 'Chr(236) 'Flèche ascendante MyTable4.Cell(Row:=4, Column:=11).Range.Select wrdDoc.Application.Selection.ParagraphFormat.Align ment = wdAlignParagraphCenter 'Doesn't work!!! With wrdDoc.Application.Selection.Font .Name = "Wingdings" .Size = 16 .Bold = True .Color = wdColorRed ''Doesn't work!!! End With wrdDoc.Close SaveChanges:=True wrdApp.Quit Set wrdApp = Nothing Set wrdDoc = Nothing End Sub |
All times are GMT +1. The time now is 09:56 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com