Word - cambio de texto, pero no de imagen, en un encabezado de word

 
Vista:
sin imagen de perfil

cambio de texto, pero no de imagen, en un encabezado de word

Publicado por jesus (1 intervención) el 13/05/2014 00:20:11
Hola a todos.
Aunque he intervenido varias veces (para preguntar, pues soy novatísimo en este mundillo) en el foro de access de esta misma página, nunca entré en este, y, ahora que lo hago, es una vez más para solicitar vuestra ayuda. Me explico:
Estoy realizando una aplicación en access para mi trabajo.
Muy a menudo, mandamos cartas a nuestros clientes, bien para informarles de ofertas, de retrasos en los pedidos, o de falta de alguno de los productos que nos solicitan.
Estas cartas se confeccionan en Word, pero lo quiero hacer desde Access. Es decir, como quiera que los datos de ofertas, retrasos, productos, pedidos.. hay que introducirlos en la base de datos, pues dándole a un botón de comando lo mando a imprimir de la siguiente manera:
1º creo un documento word con los datos de los clientes (nombre, dirección...) y coloco cada uno de ellos entre almohadillas:
ejemplo: Documento llamado carta.docx con la siguiente configuración:
D/ª: #nombre y apellidos#
#dirección#

#texto#

#firma#
(#firma# está colocado en una tabla de una sola celda, con la propiedad "reducir texto hasta ajustar activada.)

2º desde access en el formulario en el que introduzco los datos, tengo un cuadro de texto llamado nombreyapellidosform, otro llamado direcciónform, otro llamado textoform y otro con la ruta de una firma ya digitalizada llamado firmaform. Coloco un botón de comando llamado imprimir y le asigno el siguiente código al evento "al hacer clic":
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
42
43
44
45
46
47
48
49
50
51
Dim word As New word.Application
   Dim prueba As word.Document    'el nombre de prueba es un nombre que le dí, pero puede ser cualquier otro
   Dim myrange As Range
 
word.Visible = True
Set prueba = word.Documents.Open(FileName:="C:\basededatos\escritos\carta.docx", ReadOnly:=True)
Set myrange = word.ActiveDocument.Content
  With myrange.Find
  .ClearFormatting
  .Text = "#nombre y apellidos#"
  .Forward = True
  .Wrap = wdFindContinue
  Do While .Execute
  myrange.Text = nombreyapellidosform
  Loop
  End With
  With myrange.Find
  .ClearFormatting
  .Text = "#dirección#"
  .Forward = True
  .Wrap = wdFindContinue
  Do While .Execute
   myrange.Text = direccionform
  Loop
  End With
  With myrange.Find
  .ClearFormatting
  .Text = "#texto#"
  .Forward = True
  .Wrap = wdFindContinue
  Do While .Execute
   myrange.Text = textoform
  Loop
  End With
 With myrange.Find
    .ClearFormatting
    .Text = "#firma#"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
   End With
    myrange.Find.Execute
    myrange.InlineShapes.AddPicture FileName:= _
       firmaform.Value, LinkToFile:= _
        False, SaveWithDocument:=True

Bueno, hasta aquí, bien. Mi problema es el siguiente:
Este documento de word tiene un encabezado de página, en el que se colocó una tabla de dos columnas: En la 1º columna, va el logotipo de la empresa. En la 2ª un texto que varía según sea el escrito (por ejemplo Ofertas de Primavera, Comunicación de Pedido...)
Pues bien, querría saber si es posible desde Access cambiar el texto de la segunda columna respetando el logotipo de la primera. He intentado con el siguiente código pero me cambia todo el encabezado:

1
2
3
4
5
6
7
8
9
Dim word As New word.Application
   Dim prueba As word.Document
   Dim mytext As String
   word.Visible = True
   Set prueba = word.Documents.Open(FileName:="C:\basededatos\escritos\carta.docx", ReadOnly:=True)
    mytext =Ofertas
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.HeaderFooter.Range.Text = "mytext"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

Además lo cambia por mytext, eliminando toda la tabla, incluido, claro está, el logotipo de la empresa.
La idea es tener un solo documento que pueda utilizar para todos los escritos, ya que, por temas de mantenimiento, resulta más fácil modificar un documento que varios (por ejemplo, si mañana cambian el logotipo por otro y tengo que cambiarlo en los escritos)

Bueno, muchas gracias a todos por vuestra atención y ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder