Visual Basic para Aplicaciones - Excel y VBA que combinación...

Life is soft - evento anual de software empresarial
 
Vista:

Excel y VBA que combinación...

Publicado por Kike Cerati (8 intervenciones) el 24/04/2002 18:47:48
Como le puedo hacer pa'cambiar el texto a un "Text Box" de una hoja de Excel. Trato con este código que me arroja una macro pero al pasarlo a VB me marca muchos errores.

ActiveSheet.Shapes("Text Box 4").Select Selection.Characters.Text = "hola"

De ante mano
GRACIAS TOTALES
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

RE:Excel y VBA que combinación...

Publicado por Mauricio Baeza (262 intervenciones) el 25/04/2002 21:23:43
La razon por la que te funciona en Excel y no en VB, es por que excel conoce sus objetos y VB no conoce los objetos de Excel a menos que tu hagas una referencia, pero para controlar Excel desde VB no es dificil, solo tienes que considerar algunas cosas, puedes leer este pequeño articulo para mas detalles...

http://www.vbalym.netfirms.com/excel/excel.html#Lenguajes

para hacer lo que quieres, estoy suponiendo lo siguiente, es importante que se cumplan estas condiciones, despues, ya lo podras adaptar a tus necesidades...

Un archivo llamado Temporal.xls
Guardado en la misma ruta de tu proyecto VB (App.Path)
Este archivo tiene, en su primer hoja un cuadro de texto que se llama txtDato

Para leer y cambiar el contenido de este cuadro de texto desde VB, usa este codigo...

Private Sub cmdLeerTextBox_Click()
Dim objExcel As Object
Dim objLibro As Object
Dim strRuta As String

On Error Resume Next

Set objExcel = GetObject(, "Excel.Application")
If Err.Number = 429 Then
Err.Clear
Set objExcel = CreateObject("Excel.Application")
End If

'Ruta de un archivo de Excel existente
strRuta = App.Path & "\Temporal.xls"

If Len(Dir(strRuta)) > 0 Then
Set objLibro = objExcel.WorkBooks.Open(strRuta)
'Leemos el contenido del TextBox
MsgBox objLibro.Sheets(1).txtDato.Text

'Cambiamos el contenido de dicho TextBox
objLibro.Sheets(1).txtDato.Text = "Cambiado desde VB"

'Volvemos a leer el contenido del TextBox
MsgBox objLi
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