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.

Views

Vitrine

+Views

Widgets Mundo Blogger

VBA Excel - Mudando o ícone da Planilha

VBA Excel - Mudando o ícone da Planilha


É importante para algumas aplicações que o ícone da planilha, especialmente quando se abrem muitas simultaneamente, seja específico, identificando prontamente quais dados estão sendo utilizados. O código abaixo não é nenhuma novidade, apenas o disponibilizo como modo clássico de fazê-lo. Sugiro apenas que uma pequena alteração seja efetuada, propiciando que o Path e o nome do arquivo .ICO, estejam posteriormente parametrizáveis em uma pasta. 

É importantíssimo dar o crédito a: Jim RechO código abaixo deve ser postado no Workbook: 

Sub Workbook_Open() 

Let Application.Caption = ".: A&A - Minha planilha personalizada" 

ChangeApplicationIcon 

End Sub 

Agora crie um módulo e coloque o conteúdo abaixo nele: 

Option Explicit 

Declare Function GetActiveWindow32 Lib "USER32" Alias _ "GetActiveWindow" () As Integer

Declare Function SendMessage32 Lib "USER32" Alias _ "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long 

Declare Function ExtractIcon32 Lib "SHELL32.DLL" Alias _ "ExtractIconA" (ByVal hInst As Long, _ ByVal lpszExeFileName As String, _ ByVal nIconIndex As Long) As Long 

Crie, no mesmo módulo, a SUB que efetuará a chamada às definições acima: 

Sub ChangeApplicationIcon() 

Dim Icon& ' Pegue o ícone de outro aplicativo como abaixo: 
Const NewIcon$ = "Notepad.exe" ' Ou escolha um arquivo .ICO em um diretório: ' 
Const NewIcon$ = "F:\A&A\A&A - LogoIcon - 002.ico" 

Let Icon = ExtractIcon32 (0, NewIcon, 0) 

SendMessage32 

GetActiveWindow32(), &H80, 1, Icon '< 1 =" big" 0 =" small">

End Sub 


Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

Série VBA Tips - Registro do LOG de acesso às aplicações

Série VBA Tips - Registro do LOG de acesso às aplicações


É muito comum que o desenvolvedor queira registrar o número de acessos, bem como acompanhar quem está acessando o seus arquivo através de um .LOG.

Isso pode ser facilmente implementado por adicionarmos uma pequena função dentro do FORM Splash (O primeiro FORM a ser aberto) da sua aplicação. Você pode alterar o código para que grave esses arquivos .LOG em um diretório (ou servidor de arquivos) escondido e acompanhar até mesmo remotamente os acessos à sua aplicação.


NO VBE DENTRO DO FORM SPLASH

Sub Form_Open (Cancel As Integer)

' Author: Date: Contact:
' André Bernardes 18/06/2008 08:21 brazilsalesforceeffectiveness@gmail.com
' Sub de abertura do formulário.
' Rastreador inserido em 25.09.2008 - 10:52
.LOG
.

Dim ThisFormName As String

Let ThisFormName = Me.Name

Call Rastrear ' Registra acesso no Log.
Call ImagesPath
Call SetMoldura("Logando à aplicação", " . . . ")


HideAccessCloseButton ' Elimina o botão fechar na janela da aplicação do Windows.


Me.LblTime.Caption = Now()

Call AssenteAcesso("OF", ThisFormName, "Sys: Splash de abertura.")
Call SetMoldura("", ".: A&A - In Any Place")


End Sub


A FUNÇÃO QUE DEVE COLAR DENTRO DO SEU MÓDULO PARA QUE O REGISTRO SEJA EFETUADO É:


Function Rastrear()


' Author: Date: Contact:
' André Bernardes 25/09/2008 10:01 brazilsalesforceeffectiveness@gmail.com
' Cria arquivo .LOG

Open Application.CurrentProject.Path & "\" & Left(Application.CurrentProject.Name, Len(Application.CurrentProject.Name) - 4) & ".log" For Append As #1
Print #1, " "
Print #1, "User: " & atCNames(1) & "- " & Trim(atCNames(2)), Now()
Print #1, " In: " & CodeProject.FullName
Print #1, " "
Close #1


End Function

Se você tiver um pouco de criatividade poderá registrar todos os acessos de todos as aplicações (MS Access, MS Excel, MS Word, MS PowerPoint, etc...) no mesmo arquivo .LOG analisando-o quando desejar.

A infinidade de possibilidades de utilização dessa solução são infinitas, então divirta-se.



Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

VBA Word - Captura de tela VBA

VBA Outlook - Exportando Campos para o Excel



Neste exemplo, usaremos captura de tela VBA para copiar a janela ativa para a área de transferência e colá-lo em um documento do Word.

Nós estaremos usando uma API - Application Programming Interface - para capturar a tela que queremos. APIs chamar, ou executar, as funções da janela. 


Para usar a API usaremos hoje, que incluem / declarar que na parte superior do módulo. embora o nosso é declarado como privado, se você quiser acessar uma API de outros módulos que você pode declará-lo com a palavra pública, em vez da palavra privado.

No Word, pressione
ALT + F11 para abrir o editor VBA.


No canto superior esquerdo, clique direito sobre a pasta do módulo no VBA Project Explorer e inserir um novo módulo.


Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Const KEYEVENTF_KEYUP = & H2
Private Const VK_SNAPSHOT = & H2C
Private Const VK_MENU = & H12
Sub ScreenCapture ( )
keybd_event VK_MENU, 0, 0, 0
VK_SNAPSHOT keybd_event, 0, 0, 0
VK_SNAPSHOT keybd_event, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub
Sub Screen_Capture_VBA ()
Dim Sec3 As Date, PasteYes As Integer
MsgBox "Três segundos após clicar em OK "& _
" a janela ativa será copiado para a área de transferência ".
Sec3 = DateAdd ( "s", 2, Agora)
Until Now> Sec3
DoEvents
laço
ScreenCapture
PasteYes = MsgBox ( "Clique em OK para colar a captura de tela em VBA.", _
VbOKCancel)
Se PasteYes = 1 Then
Selection.Paste
End If
End Sub



Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

Principais Tendências de Análises de Dados em 2017

Principais Tendências de Análises de Dados em 2017

Principais Tendências de Análises de Dados em 2017

Há muito interessante em matérias que falam sobre a análise de dados e sua tendência. O investimento em Business Intelligence e Análises foi extremamente elevada e continua a crescer a um ritmo rápido. É possível que 2017 seja um dos anos mais emocionantes, onde o mercado de Análises moldarão uma série de eventos relacionados aos negócios e além disso. Convido-o a ler sobre aquelas, que acredito, serão as principais tendências de investimento em 2017.



Como sempre, estas são apenas previsões, e o futuro sobre eles mostrará se são mesmo realistas. Independentemente dos exatos resultados dessa especulação para o mercado de Análises em 2017, este ano certamente será um momento interessante para o cenário de negócios, e vamos precisar esperar para ver o impacto das Análises em moldar nossa indústria.



Série Big Data


Business de Big Data



Soluções de Big Data




Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

Exponha os segredos do sistema WMI API com o VBA

Exponha os segredos do sistema WMI API com o VBA




A API WMIWindows Management Instrumentation ) expõe uma grande variedade de informações dos PCs, incluindo aqueles computadores e servidores que estão remotos. Expor tais técnicas pretende automatizar o WMI como um meio de automatizar as tarefas administrativas nos computadores remotos. Segue uma lista curta de coisas que o WMI pode fazer.
  • Inicia um processo em um computador remoto.
  • Agenda um processo para ser executado em horários específicos em dias específicos.
  • Reinicia um computador remotamente.
  • Consulta os logs de eventos do Windows em um computador local ou remoto.
  • Obtém uma lista de computadores locais ou remotos de:
    • Aplicações
    • Componentes de Hardware
    • Discos, Capacidades e Espaço Livre
    • Usuários locais e de domínio
    • Impressoras e Configurações de Impressora
    • Configurações de rede
Com o VBA, o Excel pode acessar o WMI e se tornar uma ferramenta poderosa para técnicos de PC, administradores de rede e auditores de sistema


Quer um vislumbre?
Segue uma pequena rotina que lista a configuração do adaptador de rede do seu PC. Carregue-o num módulo. Execute-o. Agora considere que olhar para o adaptador de rede WMI poderá fazer muito mais do que apenas isso (e isso sim, é assustador).


Sub WMI() 
Dim oWMISrvEx As Object 'SWbemServicesEx 
Dim oWMIObjSet As Object 'SWbemServicesObjectSet 
Dim oWMIObjEx As Object 'SWbemObjectEx 
Dim oWMIProp As Object 'SWbemProperty 
Dim sWQL As String 'WQL Statement 
Dim n As Long 'Generic Counter 
sWQL = "Select * From Win32_NetworkAdapterConfiguration" 
Set oWMISrvEx = GetObject("winmgmts:root/CIMV2") 
Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL) 
For Each oWMIObjEx In oWMIObjSet 
'Put a STOP here then View > Locals Window to see all properties 
If Not IsNull(oWMIObjEx.IPAddress) Then 
Debug.Print "IP:"; oWMIObjEx.IPAddress(0) 
Debug.Print "Host name:"; oWMIObjEx.DNSHostName 
For Each oWMIProp In oWMIObjEx.Properties_ 
If IsArray(oWMIProp.Value) Then 
For n = LBound(oWMIProp.Value) To UBound(oWMIProp.Value) 
Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value(n) 
Next 
Else 
Debug.Print oWMIProp.Name, oWMIProp.Value 
End If 
Next 
End If 
Next 
End Sub

Quer ver mais?

Aqui está uma planilha que facilita a exploração de várias centenas de classes contendo informações sobre a CPU, unidades de disco, memória, sistema operacional, aplicativos, usuários e muito, muito mais. E pode consultar PCs e também servidores remotos, supondo que tenha as credenciais: WMI Query.xlsm.


Usos do WMI Query.xlsm
  • Inventário de todos os PCs em uma rede incluindo todo o hardware e software usado:
    • Win32_SystemEnclosure - Fabricante do PC e número de série
    • Win32_LogicalDisk - Discos com capacidades e espaço livre.
    • Win32_Processor - Especificações do CPU
    • Win32_PhysicalMemoryArray - RAM / tamanho da memória instalada
    • Win32_VideoController - Adaptador gráfico e configurações
    • Win32_OnBoardDevice - Dispositivos da placa -mãe
    • Win32_OperatingSystem - Qual versão do Windows com Número de Série
    • WIn32_Printer - Impressoras instaladas
    • Win32_Product - Software instalado
  • WIn32_Account - Listar todas as contas de usuário em um PC ou domínio
  • Win32_ComputerSystem - Veja quem está usando um PC remoto (também Win32_LoggedOnUser )
  • Win32_BaseService - Listar os serviços em execução (ou interrompidos ) em qualquer PC, juntamente com o caminho do serviço e o nome do arquivo.
  • E centenas de coisas mais!

Leia as referências abaixo para saber mais sobre o que esta API pode fazer.

Propriedades da classe WMI NetworkAdapterConfiguration http://msdn.microsoft.com/en-us/library/aa394217(v=vs.85).aspx

Exemplos de script:
Exemplos de Dan Elgaard: http://www.excelgaard.dk/Lib/USERINFO/
Exemplos de script WMI: http://msdn.microsoft.com/en-us/library/aa394585(v=vs.85).aspx



Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets
Related Posts Plugin for WordPress, Blogger...
diHITT - Notícias