ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to write in Word w/o Reference (https://www.excelbanter.com/excel-programming/358303-how-write-word-w-o-reference.html)

Gérard Ducouret

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



Chris Marlow

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




Tom Ogilvy

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




Tom Ogilvy

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




Gérard Ducouret

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