Visual Basic - Problema Macro Word Visual Basic

Life is soft - evento anual de software empresarial
   
Vista:

Problema Macro Word Visual Basic

Publicado por Epsilon (2 intervenciones) el 18/08/2011 09:48:49
Saludos!

Estoy intentado hacer un Macro de Word para que me actualitzé unas fechas. La tenía de antes pero toqué alguna cosa, que no se que es, y al ejecutarla no pasa nada, alguien tiene alguna solución al problema?

Grácias de antemano.

MACRO:
-----------

Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 28/11/10 por JB
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "v7pl1"
.Replacement.Text = Format(Day(Date), "00") + Format(Month(Date), "00") + Format(Year(Date), "0000")
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "v7pl2"
.Replacement.Text = Month(Date + 137) & "-" & Year(Date + 137)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.HomeKey Unit:=wdStory
End SubSub Macro1()
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

Problema Macro Word Visual Basic

Publicado por jcmg (518 intervenciones) el 20/08/2011 05:38:23
no sera la ultima linea de tu codigo, pues creas de nuevo la macro, borra Sub Macro1() de esta linea
End SubSub Macro1()
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

Problema Macro Word Visual Basic

Publicado por Epsilon (2 intervenciones) el 20/08/2011 09:16:47
Saludos jcmg,
Primero, darte las grácias por ayudarme con esto puesto que hace tiempo que tengo el problema y me es de suma importáncia tenerlo cuánto antes mejor.
He actualizado el código tal y como lo dices y me quedó de la siguiente forma:

' Macro1 Macro
' Macro grabada el 28/11/10 por JB
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "v7pl1"
.Replacement.Text = Format(Day(Date), "00") + Format(Month(Date), "00") + Format(Year(Date), "0000")
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "v7pl2"
.Replacement.Text = Month(Date + 137) & "-" & Year(Date + 137)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.HomeKey Unit:=wdStory

End Sub


Y cuando lo ejecuto me sale el siguiente error:
"Error de compilción: El procedimiento externo no es válido"

El Sub Macro 1 () y el End Sub tengo que ponerlos sí o sí.

¿Alguna otra sugerencia?

Repito, grácias de antemano.
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
Imágen de perfil de Antoni Masana

Problema Macro Word Visual Basic

Publicado por Antoni Masana (88 intervenciones) el 23/08/2011 09:23:21
Una macro enpieza con un Sub {nombre_macro}() y finaliza con un Sub End

1
2
3
Sub Macro1()
   ...
End Sub


La macro corregida (a parte de lo que haga) seria asi:

MACRO:
-----------

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
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 28/11/10 por JB
'
    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
 
    With Selection.Find
        .Text = "v7pl1"
        .Replacement.Text = Format(Day(Date), "00") + Format(Month(Date), "00") + Format(Year(Date), "0000")
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
 
    Selection.Find.Execute Replace:=wdReplaceAll
 
    With Selection.Find
        .Text = "v7pl2"
        .Replacement.Text = Month(Date + 137) & "-" & Year(Date + 137)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
 
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.HomeKey Unit:=wdStory
End Sub
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