Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
how i can write arabic numbers by microsoft excel word | Excel Discussion (Misc queries) | |||
How can I write a reference formula? | Excel Discussion (Misc queries) | |||
HOW PUT WORD-ART IN THE BACKGROUND AND WRITE OVER IT | Excel Worksheet Functions | |||
How do I write macros with relative reference cells | Excel Programming | |||
Looking for documentation/reference to write Excel Macro | Excel Programming |