elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problemita en souce Busqueda/Reemplazo/
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemita en souce Busqueda/Reemplazo/  (Leído 2,012 veces)
Wii900

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Problemita en souce Busqueda/Reemplazo/
« en: 23 Septiembre 2009, 19:54 pm »

Bien tengo este souce :

Código
  1. Option Explicit
  2.  
  3. '***************************************************************************
  4. '*  Name         : Buscar y Reemplazar En Word desde vb
  5. '*  Controles    : Un CommandButton y tres textbox _
  6.                   (txt_Buscar, txt_Buscar y txt_path )
  7. '***************************************************************************
  8.  
  9. Function Buscar_Reemplazar_En_Word(Cadena_Origen As String, _
  10.                                   Cadena_reemplazo As String, _
  11.                                   Path_Word As String) As Boolean
  12.  
  13.    On Error GoTo Err_Buscar
  14.  
  15.    Dim Obj_Word As Object
  16.  
  17.    'Crea una nueva referencia para poder acceder al documento
  18.    Set Obj_Word = CreateObject("Word.Application")
  19.  
  20.    ' aplicación de word no visible
  21.    Obj_Word.Visible = False
  22.  
  23.    'Abre el archivo especificado mediante el método Open y algunas opciones
  24.    Obj_Word.Documents.Open FileName:=Path_Word
  25.  
  26.  
  27.    ' Coloca la selección al comienzo del documento
  28.    Obj_Word.ActiveDocument.GoTo What:=wdGoToPage, _
  29.                                         Which:=wdGoToNext, _
  30.                                         Name:="1"
  31.  
  32.  
  33.  
  34.    Obj_Word.Selection.Find.ClearFormatting
  35.    Obj_Word.Selection.Find.Replacement.ClearFormatting
  36.  
  37.    ' Propiedades de la búsqueda y reemplazo
  38.    With Obj_Word.Selection.Find
  39.        .Text = Cadena_Origen
  40.        .Replacement.Text = Cadena_reemplazo
  41.        .Forward = True
  42.        .Wrap = wdFindAsk
  43.        .Format = False
  44.        .MatchCase = False
  45.        .MatchWholeWord = False
  46.        .MatchWildcards = False
  47.        .MatchSoundsLike = False
  48.        .MatchAllWordForms = False
  49.    End With
  50.  
  51.    ' Ejecuta la búsqueda y reemplazo
  52.    Obj_Word.ActiveWindow.Selection.Find.Execute Replace:=wdReplaceAll
  53.  
  54.   'Cierra el documento abierto ( TRue es para guardar los cambios )
  55.    Obj_Word.ActiveDocument.Close True
  56.  
  57.    'Destruye las variables de objeto y cierra la aplicación de word
  58.    Obj_Word.Quit False
  59.    Set Obj_Word = Nothing
  60.  
  61.    'Ok
  62.    Buscar_Reemplazar_En_Word = True
  63.  
  64.    Exit Function
  65.  
  66. 'Error
  67. Err_Buscar:
  68.    MsgBox Err.Description, vbCritical
  69.  
  70.    On Error Resume Next
  71.    'cierra la aplicación de word
  72.    Obj_Word.Quit False
  73.    'Elimina la referencia de la memoria
  74.    Set Obj_Word = Nothing
  75. End Function
  76.  
  77. Private Sub Command1_Click()
  78.  
  79.    Dim ret As Boolean
  80.  
  81.    ' Comienza la búsqueda y reemplazo en el documento
  82.    ret = Buscar_Reemplazar_En_Word(txt_Buscar, _
  83.                                    txt_Buscar, _
  84.                                    txt_Path)
  85.  
  86.    If ret Then
  87.        MsgBox " Listo ", vbInformation
  88.    End If
  89.  
  90.  
  91. End Sub
  92.  
  93. Private Sub Form_Load()
  94.    Command1.Caption = " Buscar y reemplazar "
  95.    txt_Buscar = " Acá colocar la palabra a buscar "
  96.    txt_reemplazar = " Acá colocar la palabra de reemplazo"
  97.    txt_Path = " Colocar el path del documento "
  98. End Sub

Tengo Un Error En:

Código
  1.    Obj_Word.ActiveDocument.GoTo What:=wdGoToPage, _


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Problemita en souce Busqueda/Reemplazo/
« Respuesta #1 en: 24 Septiembre 2009, 02:08 am »

Hola, declara estas constantes arriba de todo y te va a funcionar, igulamente ese codigo tiene un pequeño error tenes que cambiar donde le pasa los parametros:

Código
  1. Private Const wdGoToPage = 1
  2. Private Const wdGoToNext = 2
  3. Private Const wdFindAsk = 2
  4. Private Const wdReplaceAll = 2

Código
  1. ret = Buscar_Reemplazar_En_Word(txt_Buscar, _
  2.                                    txt_Buscar, _
  3.                                    txt_Path)

debe ser:

Código
  1. ret = Buscar_Reemplazar_En_Word(txt_Buscar, _
  2.                                    txt_reemplazar, _
  3.                                    txt_Path)

esta mal puesto el textbox...

saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Reemplazo de Memoria
Windows
mhoker 2 3,107 Último mensaje 13 Diciembre 2010, 07:00 am
por Randomize
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines