Office - Actualizar hoja de excel desde datos de portapapel

 
Vista:

Actualizar hoja de excel desde datos de portapapel

Publicado por JawSTen (3 intervenciones) el 17/06/2006 18:05:12
Hola a todos.

Necesito hacer una cosa que tal vez suene raro.

Tengo una hoja de excel, en la cual necesito actualizar algunas celdas con valores de un contenido que está en el portapapeles.

Para ser más específico, hay datos en una web, y quiero copiar parte del contenido de la web en una hoja de excel, en determinadas celdas.

Supongamos que tengo una hoja de excel para almacenar los resultados de los partidos del mundial, y luego preparar los partidos de octavos, etc....

La intención sería algo así como cojer la información de los resultados de los partidos de una web cualquiera, y que se actualice automáticamente en excel.

Lo que se me ocurre es insertar un botón en la hoja de excel, y un textbox. El textbox será para copiar el contenido de la web (Con copy & paste) y el botón "Actualizar" tendría la macro que procesa el contenido del textbox y actualiza las debidas celdas con la información necesaria.

No tengo idea ni de como poner un textbox en la hoja de excel, con lo cual agradezco si me podéis orientar sobre la mejor forma de hacer esto, o si hay un método más eficaz que el que propongo.

Por favor, sed lo más detallado posibles sobre como hacerlo pues soy novato en excel, o en su defecto, decirme dónde puedo encontrar tutoriales sobre este tema.

Gracias de antemano.
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:Actualizar hoja de excel desde datos de portapa

Publicado por JuanC (34 intervenciones) el 18/06/2006 16:06:25
Mirá, lo que querés hacer no es imposible, pero muy complejo y difícil si
sos "novato" en Excel... y sobre todo en VBA...
Quizás te convenga guardar esos datos copiados desde la Web en un archivo
de texto (.txt) y luego importar esos datos desde Excel y mediante algunas
fórmulas llevar esos valores a donde vos quieras...
No sé si eso es posible en tu caso particular, pero creo que es más simple
que el pegar directamente los datos mediante código... (dado que no estás
en el tema)

De todas maneras, acá va un fragmento de código para capturar los datos
desde el portapapeles... digamos que con esto tendrías el 99% del problema
resuelto...

Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long
Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Declare Function CloseClipboard Lib "user32" () As Long
Declare Function OpenClipboard Lib "user32" (ByVal hWnd As Long) As Long
Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long

Public Const CF_TEXT = 1
Public Const MAXSIZE = 4096

Public Function LoadFromClipBoard() As String
Dim hClipMemory&, lpClipMemory&
Dim sString$, RetVal&
On Error Resume Next

If OpenClipboard(0&) = 0 Then Exit Function
hClipMemory = GetClipboardData(CF_TEXT)
If IsNull(hClipMemory) Then GoTo fin
lpClipMemory = GlobalLock(hClipMemory)

If Not IsNull(lpClipMemory) Then
sString = Space$(MAXSIZE)
RetVal = lstrcpy(sString, lpClipMemory)
RetVal = GlobalUnlock(hClipMemory)

sString = Mid(sString, 1, InStr(1, sString, Chr$(0), 0) - 1)
End If

fin:
RetVal = CloseClipboard()

LoadFromClipBoard = sString
End Function

Saludos desde Baires, JuanC
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

RE:Actualizar hoja de excel desde datos de portapa

Publicado por Jose skraviuk (2 intervenciones) el 24/07/2006 20:51:25
Estimado, por lo que entiendo tu quieres copiar valores desde una web a una hoja, excel...eso lo puedes hacer usando herramientas que tiene excel...
para usarlo tienes que ir a barra de menú/datos/Nueva consulta web...y sigue las instrucciones que indica el asistente...
en caso de no poder me escribes a [email protected]

saludos, josé skraviuk - arg
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