As Logomarcas são uma maneira fácil de adicionar um senso de profissionalismo ao trabalho que estamos entregando.
Telas iniciais e logotipos são parte de cada produto de software que adquirimos e também devem ser parte integrante de cada aplicação que você fornecer ao seu Cliente.
Agora, se o seu logo for animando...Isso será ainda mais divertido!
Além de divertir os usuários, definirá o seu trabalho para além da média com um desenvolvedor de aplicações para o Excel.
Eu procuro usá-los quando a primeira pasta de trabalho é aberta (Passo-a-passo até para os iniciantes hein!):
- Abra uma pasta de trabalho em branco
- Renomeie a primeira guia "Dados"
- Esta será a planilha exibida quando o nosso workbook for aberto
- Agora, obtenha uma cópia animada do logotipo da sua empresa
No site da sua empresa provavelmente tem um com o tamanho certo- Cole-o na planilha de dados- Precisamos de nomeá-lo "Logo"- Selecione-o, e em seguida, use Alt-F11 para chegar ao Editor do Visual Basic.- Use Ctrl-R para abrir o Project Explorer
- Dê um duplo clique em "ThisWorkbook" (ou EstaPasta_de_trabalho)Isso traz à tona a janela de código da pasta de trabalho.- Essa rotina deve ser executada logo que o workbook for aberto, por isso vamos codificá-la em Workbook_Open- Esta rotina ativavá a aba que renomeamos para "Data", e em seguida passa à nossa "Logo" para duas rotinas.- A primeira faz "crescer" a nossa logomarca.- A segunda faz girá-la uma vez.
Private Sub Workbook_Open()Worksheets("Dados").ActivateActiveSheet.Shapes("Logo").LockAspectRatio = FalseGrowShape ActiveSheet.Shapes("Logo"), 10SpinShape ActiveSheet.Shapes("Logo"), 10End Sub
A rotina GrowShape expandirá qualquer shape à vista. Primeiro desligará atualização de tela. Isso nos permitirá fazer alterações nos bastidores e exibir os resultados quando estivermos prontos.
Em seguida, a rotina GrowShape se lembrará das dimensões do shape. Em seguida, a rotina muda o tamanho do shape, exibe-o, congela a tela e faz loops até terminar. Antes de finalizar, a rotina GrowShape garante que o shape está exatamente como o encontramos.
A rotina SpinShape é quase idêntica. Congela a tela, lembra as dimensões originais do shape, em seguida, altera o tamanho do shape num circuito que simula-o girando em torno do seu eixo Y. Quando termina, a rotina SpinShape restaura o shape ao seu tamanho original.
Isso é tudo o que precisamos para animarmos um logotipo!
Function GrowShape (ByRef Shape As Shape, Step As Integer) As Boolean' Description:Expands a shape into view' Parameters: Shape The shape to animate' Step Larger #s animate faster' Example: GrowShape ActiveSheet.Shapes("Logo"), 10' Note: For best results, shape should be hidden before calling' this routine' Date Init Modification' 01/10/11 CWH Initial ProgrammingDim lCenterX As Long 'Shape's center X coordinateDim lCenterY As Long 'Shape's center Y coordianteDim lWidth As Long 'Shape's widthDim lHeight As Long 'Shape's heightDim l As Long 'Generic Counter for the loopApplication.ScreenUpdating = FalseWith Shape'Remember shape's original dimensionslCenterX = .Width / 2 + .LeftlCenterY = .Height / 2 + .ToplWidth = .WidthlHeight = .Height'Animation LoopFor l = 0 To lWidth Step Step.Width = l.Height = l * lHeight / lWidth.Left = lCenterX - .Width / 2.Top = lCenterY - .Height / 2Shape.Visible = TrueApplication.ScreenUpdating = TrueApplication.ScreenUpdating = FalseNext l'Restore shape's original dimensions.Width = lWidth.Height = lHeight.Left = lCenterX - .Width / 2.Top = lCenterY - .Height / 2End WithApplication.ScreenUpdating = TrueEnd FunctionFunction SpinShape (ByRef Shape As Shape, Step As Integer) As Boolean' Description:Expands a shape into view' Parameters: Shape The shape to animate' Step Larger #s animate faster' Steps should divide 90 evenly' Example: SpinShape ActiveSheet.Shapes("Logo"), 10' Date Init Modification' 01/10/11 CWH Initial ProgrammingConst Pi = 3.14159265358979Dim sng01 As Single '1 Degree in Radianssng01 = Pi / 180Dim lCenterX As Long 'Shape's center X coordinateDim lCenterY As Long 'Shape's center Y coordianteDim lWidth As Long 'Shape's widthDim lHeight As Long 'Shape's heightDim l As Long 'Generic Counter for the loopApplication.ScreenUpdating = FalseWith Shape.LockAspectRatio = False'Remember shape's original dimensionslCenterX = .Width / 2 + .LeftlCenterY = .Height / 2 + .ToplWidth = .WidthlHeight = .Height'Animation LoopFor l = 0 To 360 Step Step.Width = lWidth * Abs(Cos(l * sng01)).Left = lCenterX - .Width / 2If l = 90 Or l = 270 Then .Flip msoFlipHorizontalShape.Visible = TrueApplication.ScreenUpdating = TrueApplication.ScreenUpdating = FalseNext l'Restore shape's original dimensions.Width = lWidth.Height = lHeight.Left = lCenterX - .Width / 2.Top = lCenterY - .Height / 2End WithApplication.ScreenUpdating = TrueEnd Function
Tags: VBA, Excel, development, Microsoft Excel, tutorial, logo, logomarca, animar, animated,