Visual Basic - Ejecutar un macro de Word

Life is soft - evento anual de software empresarial
   
Vista:

Ejecutar un macro de Word

Publicado por Luis (12 intervenciones) el 09/06/2014 19:21:56
Buenas,

Tengo un programa que genera un documento Word y realiza determinadas acciones. No era capaz de conseguir que el programe quitase una línea en blanco para que no se descolocase todo, por lo que lo grabé como macro.

La macro es sencillísima:

Private Sub Macro3()
'
' Macro3 Macro
'
'
Selection.MoveDown(Unit:=Word.WdUnits.wdLine, Count:=6)
Selection.Delete(Unit:=wdCharacter, Count:=1)
End Sub


pero sólo me funciona si uso Word.Run("Macro"); es decir, copiando este código en vb me da error.Usando Word.Run("Macro") funciona a la perfección. El problema viene cuando lo utilizo desde otro PC. ¿Qué puedo hacer?

Muchas gracias!
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

Ejecutar un macro de Word

Publicado por juan (1 intervención) el 18/07/2014 14:11:24
Yo uso bastante el codigo de word en mis aplicaciones, aqui te dejo uno por si te sirve
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
Set wrd = GetObject(, "Word.Application")
If Err.Number = 429 Then
MsgBox "abre word"
Else
DIRACUSE = App.Path & "\" & "ACUSE DE RECIBO MARC.doc"
wrd.Documents.Open DIRACUSE
wrd.Selection.GoTo What:=wdGoToBookmark, Name:="DESTINATARIO"
wrd.Selection.InsertAfter Text:=Text1.Text
wrd.Selection.GoTo What:=wdGoToBookmark, Name:="DIRECCION"
wrd.Selection.InsertAfter Text:=Text2.Text
wrd.Selection.GoTo What:=wdGoToBookmark, Name:="CPOSTAL"
wrd.Selection.InsertAfter Text:=Text3.Text
wrd.Selection.GoTo What:=wdGoToBookmark, Name:="POBLACION"
wrd.Selection.InsertAfter Text:=Text4.Text
wrd.Selection.GoTo What:=wdGoToBookmark, Name:="PROVINCIA"
wrd.Selection.InsertAfter Text:=Text5.Text
wrd.Selection.GoTo What:=wdGoToBookmark, Name:="EXPTE"
wrd.Selection.InsertAfter Text:=Text6.Text
wrd.Selection.GoTo What:=wdGoToBookmark, Name:="ASUNTO"
wrd.Selection.InsertAfter Text:=Text8.Text
nombredoc = Mid(Text1, 1, Len(Text1) / 2)
'vba.
hora = Format(VBA.Now, "hh-mm-ss")
ActiveDocument.SaveAs filename:=Text1.Text & hora & ".doc"
'ActiveDocument.SaveAs filename:=NewFileName
Set wrd = Nothing
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar