Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

VBA Excel - Abrindo e fechando o CD-ROM - Open and close the CD-ROM tray using VBA in Microsoft Excel

Já sei, já sei. Muitos perguntarão: "Prá que aprender a abrir a gaveta do CD-ROM?"

Perceba que não estará
apenas
aprendendo  'a abrir a gaveta do CD-ROM'', antes estará aprendendo a manipular periféricos em uma máquina, utilizando uma API do Windows.

Declare Sub mciSendStringA Lib "winmm.dll" (ByVal lpstrCommand As String, _ ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, _ ByVal hwndCallback As Long)

Sub OpenCDTray()


    mciSendStringA "Set CDAudio Door Open", 0&, 0, 0


End Sub

Sub CloseCDTray()

    mciSendStringA "Set CDAudio Door Closed", 0&, 0, 0

End Sub



Tags: Bernardes, MS, Microsoft, Windows, Office, VBA, Excel, CD, CD-ROM, CDROM, 

mciSendStringA, API, DLL,

winmm.dll, Lib


André Luiz Bernardes
A&A® - Work smart, not hard.
Skype: inanyplace 


VBA Tip - Como utilizar a memória RAM - Using Clipboard, RAM Memory

Pois é, 
Todos usamos muito a famosa funcionalidade CTRL + C e CTRL + V. Sim o copy/paste é muito útil e porque não dizer, indispensável. Mas como podemos implementar essa funcionalidade dentro das nossas aplicações MS Office?

How to Use the Office Clipboard in VBA
How to Copy From the Clipboard in Excel Using VBA
How to Cut & Paste From the Clipboard in Excel VBA

0338_pix_gemeos_copy_paste.jpg

Em que momento desejarei utilizar essa funcionalidade nas minhas aplicações? Através do VBA, é possível, por exemplo,  recuperarmos quaisquer informações que estiverem na Área de Transferência, utilizando-as em nossas aplicações, ou podemos fazer o caminho inverso e disponibilizar o resultado de certo processamento para a área de transferência.

Sub PutInRAM ()     Dim nOBJ As MSForms.DataObject     Set dtOBJ = New MSForms.DataObject          Dim n As String
Let n = "Bernardes"
    dtOBJ.SetText s
dtOBJ.PutInClipboard End Sub
Sub GetInRam ()     Dim dtOBJ As MSForms.DataObject     Dim n As String          Set dtOBJ = New MSForms.DataObject          dtOBJ.GetFromClipboard          Let n = dtOBJ.GetText          MsgBox n End Sub
 
' Compatibilizando as versões do MS Office
#If VBA7 Then
    Public Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long
    Public Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
    Public Declare PtrSafe Function CloseClipboard Lib "user32" () As Long
#Else
    Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Public Declare Function EmptyClipboard Lib "user32" () As Long
    Public Declare Function CloseClipboard Lib "user32" () As Long
#End If

Sub EmptyInRAM()
    OpenClipboard (0&)

    EmptyClipboard

    CloseClipboard
End Sub


Referência: Ambiente Office
                    CPerson


Tags: Bernardes, MS, Microsoft, Office, VBA, TIP, Clipboard, RAM, memory, memória, RAM, copy/paste

André Luiz Bernardes
A&A® - Work smart, not hard.
Skype: inanyplace 


eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine