Por favor, alguien podría ayudarme con esta duda. Este código que envía mensajes de información que esta en excel, a través de WhastApp, me funciona correctamente en windows, pero necesito adaptarlo para que funciones en un Excel de un ordenador MAC.
Creo entender que el problema lo tengo en la ejecución de la función SHELL que inicializa la aplicación, pero no se que adaptación debo hacer para que sea operativo en MAC.
De antemano agradezco su valiosa ayuda.
Declare PtrSafe Function ShellExecute Lib"shell32.dll"Alias"ShellExecuteA" (ByVal hwnd AsLong, ByVal lpOperation AsString, ByVal lpFile AsString, ByVal lpParameters AsString, ByVal lpDirectory AsString, ByVal nShowCmd AsLong) AsLongConst SW_NORMAL = 1'para optimizar la aplicaciónSub envioCartera()
Application.ScreenUpdating = True' Inabilitar la pantalla'Application.EnableEvents = False'ActiveSheet.DisplayPageBreaks = FalseDim Rango As Range
Dim x
Dim Mensaje, saludo, cuerpo, cierre, archivo AsStringDim i, fila, id1, id2, id3, y, k, t1, t2 AsInteger
archivo = ThisWorkbook.Name
Call SendKeys("{NUMLOCK}", True)
'loExcel = CreateObject("Excel.Application")'ReturnValue = Shell("C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE")
Workbooks(archivo).Activate
fila = Hoja1.Cells(Rows.Count, 2).End(xlUp).Row
If fila >= 3Then
Hoja3.Range("c11") = Now
saludo = Hoja3.Range("b4").Text
cuerpo = " " & Hoja3.Range("c4").Text
cierre = Hoja3.Range("d4").Text
id1 = Hoja3.Range("B6").Value
id2 = Hoja3.Range("C6").Value
For i = 3To fila
'For Each Rango In Hoja1.Range("Cartera[Cliente]") 'Nombre de la tabla y columna
Mensaje = VBA.Replace("whatsapp://send?phone=" & Hoja1.Cells(i, 5).Text & Hoja1.Cells(i, 4).Value & "&text=" & saludo & Chr(13) & Chr(13) & "%20" & Hoja1.Cells(i, id1) & Chr(13) & "%20" & cuerpo & " " & FormatCurrency(Hoja1.Cells(i, id2), 0) & " " & cierre, " ", "%20")
Application.Wait Now + TimeValue("00:00:03")
x = ShellExecute(hwnd, "Open", Mensaje, &O0, &O0, SW_NORMAL) 'Para obtener el mensaje
Application.Wait Now + TimeValue("00:00:06")
Call SendKeys("{NUMLOCK}", True)
Call SendKeys("~", True) 'El caracter ~ es para presionar enter y enviar el mensajeCall SendKeys("{NUMLOCK}", True)
Next i
'AppActivate "Excel", 1
Workbooks(ThisWorkbook.Name).Activate 'Volver la ventana
Hoja1.SelectCall SendKeys("{NUMLOCK}", True)
Hoja3.Range("c12") = Now
MsgBox ("Mensaje con Exito"), vbInformation
Application.ScreenUpdating = True' Habilitar la pantalla lo que hace
Application.EnableEvents = TrueElse
MsgBox "No hay contactos", vbCritical, "excelparatodos.com"EndIfEndSub
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas noches amigos,
Por favor, alguien podría ayudarme con esta duda. Este código que envía mensajes de información que esta en excel, a través de WhastApp, me funciona correctamente en windows, pero necesito adaptarlo para que funciones en un Excel de un ordenador MAC.
Creo entender que el problema lo tengo en la ejecución de la función SHELL que inicializa la aplicación, pero no se que adaptación debo hacer para que sea operativo en MAC.
De antemano agradezco su valiosa ayuda.