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
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema Macro Word Visual Basic

Publicado por Antoni Masana (556 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