Views

Important:

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

...

11 de janeiro de 2013

VBA PowerPoint 2010 - Trabalhando com Shape Glow e as propriedades Reflection - Work with Shape Glow and Reflection Properties



Este exemplo demonstra as propriedades Reflection  e Glow da classe ReflectionFormat no Microsoft PowerPoint 2010.

Copie este código num módulo de uma nova apresentação. Exiba a janela do VBA lado-a-lado com a janela do PowerPoint e pressione F8 (e depois Shift + F8) a única etapa através deste código para o uso mais eficiente desta demonstração.

  Sub GlowAndReflectionDemo()       ' Work with Shape Glow and Reflection properties.             ' Create a blank slide.       Dim sld As Slide       Set sld = ActivePresentation.Slides.Add(2, ppLayoutBlank)             ' Add a shape to the new slide.       Dim shp As Shape       Set shp = sld.Shapes.AddShape(msoShape5pointStar, 100, 100, 200, 200)             sld.Select             With shp.Glow           ' This code is only meaningful if you single-step through it.           ' Note that the user interface offers presets, which aren't exposed           ' through the object model.                     ' Pick a starting color.           .Color.ObjectThemeColor = msoThemeColorAccent2                     ' Radius corresponds to the Size property in the user interface, and is           ' measured in points.                     ' Try a few sizes:           .Radius = 8           .Radius = 20           .Radius = 50                     ' Try varying transparencies:           .Transparency = 0           .Transparency = 0.25           .Transparency = 0.5           .Transparency = 0.75                     ' Try a few colors:           .Color.ObjectThemeColor = msoThemeColorAccent5           .Color.ObjectThemeColor = msoThemeColorAccent6           .Color.RGB = RGB(255, 255, 128)       End With             ' Work with the shape's reflection.       ' Single step through this code to see the changes.       With shp.Reflection           ' Cycle throught the 9 built-in reflection types:           .Type = msoReflectionType1           .Type = msoReflectionType2           .Type = msoReflectionType3           .Type = msoReflectionType4           .Type = msoReflectionType5           .Type = msoReflectionType6           .Type = msoReflectionType7           .Type = msoReflectionType8           .Type = msoReflectionType9                     ' Transparency is treated as a percentage, with 1 being completely transparent, and 0 being nearly opaque:           .Transparency = 0.9           .Transparency = 0.7           .Transparency = 0.5           .Transparency = 0.3                     ' Size is measured as a percentage of the original shape, times 100:           .Size = 10           .Size = 25           .Size = 50           .Size = 75           .Size = 100           .Size = 60                     ' Offset corresponds to the Distance property in the user interface, measured in points.           ' It indicates how far from the shape to draw the reflection:           .Offset = 0           .Offset = 10           .Offset = 20                     ' Blur is measured in points, indicating the amount of blur to add to the reflection:           .Blur = 2           .Blur = 5           .Blur = 10                 End With   End Sub

Download: 


Tags: VBA, Powerpoint, shape, glow, reflection


VBA Excel - Formulário - Impedindo o fechamento no [X]


Impedir o formulário que desenvolvemos seja fechado no momento errado ou sem querer, pode ajudar muito aos usuários menos atentos. O código abaixo mostrará como fazer isso, evitando que o formulário seja fechado ao se pressionar o 'X'.

Inicie por colocar o código abaixo no formulário: Clique duas vezes no formulário e cole o código:

Sub UserForm_Close (Cancel As Integer, CloseMode As Integer) 

    If CloseMode = vbFormControlMenu Then 
        MsgBox "Pressione o botão Fechar." 

        Let Cancel = True 
    End If 

End Sub

Para fechar o formulário inseriremos um código num botão do formulário:

Private Sub CommandButton1_Click() 
Unload frm_Cad_Client
End Sub

Tags: VBA, Excel, Form, Close, fechar, unload

VBA Project 2010 - Habilitar a aba Desenvolvedor no Project 2010 - Enable Developer Tab in Project


Sim, habilitar a Aba desenvolvedor no MS Project Professional 2010. Como fazemos?

1 - Com o Project aberto clique em: Arquivo / Opções / Personalizar Faixa de Opções.


2 - Poderá observar a opção Desenvolvedor, habilite-a:


3 - O Menu Desenvolvedor será exibido no Project.


Podemos integrar o MS Project Professional 2010 com os outros produtos do Office para criarmos uma grande variedade de aplicações de negócios.

A documentação para os desenvolvedores da suíte Microsoft Office podem ser encontradas no Mapa Interativo Microsoft Office Developer. É um arquivo PDF que mostra todas as aplicações clientes do MS Office e os produtos com tecnologia relacionadas a servidores.



A Figura acima mostra a página de Aplicações Desktop do Mapa Interativo Microsoft Office Developer. Este inclui as relações de todos os aplicativos clientes do Microsoft Office, aplicações de servidor, aplicações móveis, serviços e aplicações do Office 365 e tecnologias relacionadas, ferramentas de desenvolvimento e componentes da plataforma. Depois de instalá-lo poderá clicar em qualquer item para ver uma página que mostra links do produto e os respectivos recursos de documentação online.


Tags: VBA, Project, MS Project, Project 2010, tab, developer, Developer Map, 

9 de janeiro de 2013

Ser um programador...Breve reflexão




Já desenvolvo programas a cerca de 25 anos e às vezes ainda me pego surpreso por ter criado algo a partir do nada ou ter feito algum dispositivo eletrônico subutilizado executar algo que nunca faria antes.

Nos últimos tempos tenho escrito textos que são lidos por centenas de pessoas, as quais a partir destes, podem agora fazer coisas que sempre quiseram mas não tinham ideia de como fazê-lo. 

Ao compartilhar soluções nos meus Blogs e em alguns fóruns pela Internet, estou dando continuidade ao fluxo de informações do qual sou o originador. Tudo faz parte da colaboração. Tudo o que desenvolvemos e criamos, e até mesmo aquilo que acreditamos ser uma inovação em termos de técnica e desenvolvimento, está baseado nas obras de milhares de outros programadores e designers ao longo dos anos, em inúmeras linguagens nas quais trabalhamos. Há um acumulo de experiências usufruido pelas facilidades que colhemos ao lidar com o que já está pronto.

Cada projeto com os seus longos algoritmos, os quais por si só podem não ser tão emocionantes, quando combinados com todos os outros, devidamente integrados ao ambiente apropriado, tornam-se extraordinários.

Todos aqueles dias digitando, empurrando, depurando textos até fazer com que o código faça algo acontecer; todos os dias seguidos a partir dos quais começa-se cada vez mais cedo na busca da solução. Mesmo assim não estamos sós. Sim, a programação sempre é um esforço de grupo, mesmo quando se pensa trabalhar por conta própria.

E é de enlouquecer quando tudo se desconstrói e aquele código que estava tão legal se desfaz ou quando todas as suas tentativas de fazer as coisas direito tornam as coisas mais à esquerda. 

A programação pode parecer uma profissão terrível: Várias reuniões inúteis, grandes mudanças nos requisitos fazem-nos desejar que fôssemos testadores de colchões ao invés de escrevermos códigos manhã após manhã, dia após dia.

Mas, que outras vocações nos permitem criar coisas a partir do nada, controlar máquinas eletrônicas que de outra forma seriam pesos de papel ou dar prazer a pessoas que você nem conhece?

Alguém preparou um ambiente que responde aos meus comandos e controla a memória que preciso usar. Foram preparados protocolos para levar e trazer informações ao redor de todo o globo. Sim, alguém fez tudo isso para que eu pudéssemos escrever os nossos códigos e nos surpreendêssemos com a facilidade de como tudo funciona em conjunto.

Não importa o idioma em que escrevo, o formulário que uso, ou o sistema operacional que executo. Eu faço essa coisa de programação. Em última análise é um monte de trabalho de outras pessoas à minha disposição. Não tenho que fazer tudo sozinho. Não tenho que ser um especialista em tudo. Minha linha de código foi realizada pelo trabalho de milhares de outras pessoas. E provavelmente será usado por programadores futuros de alguma forma. Várias pessoas poderão tirar vantagem de um pouco mais de funcionalidade sem ter a menor idéia de como isso foi feito.

Não tenho nenhuma idéia de como será a programação daqui a mais 25 anos, ou mesmo se continuará a existir, mas se isso acontecer espero que os programadores possam ter um momento para perceber o prazer de ser um.

Então, tome tempo para pensar quão incrível é programar, da próxima vez que olhar para algo que apenas deu certo.

Tags: programador, reflexão, 25 anos, 


8 de janeiro de 2013

VBA Word - Adicione uma imagem ao Word - Add an Image to Word Document and Scale it using VBA

Este resumo não está disponível. Clique aqui para ver a postagem.

VBA Excel - VLookAllBooks - Pesquise em mais de uma planilha simultâneamente.



Imagine-se podendo pesquisar em mais de uma planilha do MS Excel ao mesmo tempo em busca de um determinado valor. Gostaria de poder fazê-lo?

Todos conhecemos o VLOOKUP ou o HLOOKUP. Estamos cientes da sua aplicabilidade e utilidade.

O código a seguir permite usarmos PROCV para olharmos em todas as planilhas, parando assim que encontrar o valor procurado.

Function vlookallbooks _
(Look_Value As Variant, Tble_Array As Range, Col_num As Integer, Range_look As Boolean, ParamArray wkbks())

Dim wSheet As Worksheet
Dim vFound
Dim searchBook As Workbook
Dim found As Boolean

On Error Resume Next

Let found = False

For Each wkbk In wkbks
Set searchBook = Workbooks(wkbk)

For Each wSheet In searchBook.Worksheets

With wSheet

Set Tble_Array = .Range(Tble_Array.Address)

Let vFound = WorksheetFunction.VLookup(Look_Value, Tble_Array, Col_num, Range_look)
End With

If Not IsEmpty(vFound) Then
Let found = True
Exit For
End If

Next wSheet

If found = True Then Exit For
Next wkbk

Set Tble_Array = Nothing

Let vlookallbooks = vFound
End Function

Modo de usar:

=vlookallbooks ( "André", A1:F5,2,False, "Dash001.xlsb","Dash002.xlsb","Mybook.xlsm")


Tags: VBA, vlookup, hlookup, vlookallbooks



7 de janeiro de 2013

VBA Basic - Verifica se o arquivo ou o caminho existem

| 

Esta função VBA (UDF - User Defined Function) testa se um arquivo (file) ou um caminho (path) existem ou se são válidos. 

Se desejar utilizar esta função para testar um caminho, precisará obrigatoriamente colocar "\" como último caracter do Path.

Function Check()
    Dim nFrase As String
    
    Let nFrase = "c:\Bernardes\Dashboard.xlsb"

    If DeepCheck (nFrase) Then

        MsgBox "O caminho e/ou arquivo '" & nFrase & "' existe é válido." _
          , vbInformation _
          , "Informação"

    Else

        MsgBox "O caminho e/ou arquivo '" & nFrase & "' é inválido ou não existe." _
          , vbCritical _
          , "Erro"

    End If
End Sub

Function DeepCheck (nPath As String) As Boolean    
    If Dir (nPath) = vbNullString Then
        Let DeepCheck = False
    Else
        Let DeepCheck = True
    End If    
End Function

Abaixo observamos um código simples que lista todos os arquivos de um determinado diretório.

Está configurado para usar a função Dir para obter as informações sobre onde arquivos estão armazenados na pasta / diretório. Em seguida, simplesmente grava os dados da planilha. É possível utilizar os dados em uma matriz se desejar modificar e usá-lo em outro aplicativo da suíte MS Office. Esta é uma função boa quando precisa gravar um arquivo ou realizar uma operação em todos os arquivos armazenados numa determinada pasta, mas não sabe exatamente como os arquivos são chamados ou quantos são. 

Divirta-se!

Sub ListFilesInDirectory()

Range("A5:A2000").ClearContents

Dim ListFilesInDirectory (10000, 1)
Dim One_File_List   As String
Dim Number_Of_Files_In_Directory As Long

Let One_File_List = Dir$ ("C:" + "\*.*")

Do While One_File_List <> ""
    Let ListFilesInDirectory (Number_Of_Files_In_Directory, 0) = One_File_List
    Let One_File_List = Dir$
    Let Number_Of_Files_In_Directory = Number_Of_Files_In_Directory + 1
Loop

Let Number_Of_Files_In_Directory = 0

While List_Files_In_Directory(Number_Of_Files_In_Directory, 0) <> tom

    Let Range("A5").Offset(Number_Of_Files_In_Directory, 0).Value = ListFilesInDirectory (Number_Of_Files_In_Directory, 0)

    Let Number_Of_Files_In_Directory = Number_Of_Files_In_Directory + 1
Wend

End Sub

Tags: VBA, UDF, user, defined, function, path, file, exist, Dir, directory, files, 

eBooks VBA na AMAZOM.com.br

Vitrine