setembro 2010 - Posts - Tecnologias

Tecnologias

Assuntos diversos ligados à tecnologia.

setembro 2010 - Posts

SyncToy 2.0

Você precisa manter arquivos sincronizados entre o seu desktop, notebook e o computador de casa?

Pois é justamente para isto que existe o SyncToy 2.0!

Naturalmente ele também serve como um excelente ferramenta de backup. ElE é intuitivo e possui uma excelente interface e ainda possui 5 formas diferentes de realizar a sincronização.

Não perca mais tempo, faça o download e comece a usufruir de mais este software grátis da Microsoft!

Posted quinta-feira, 30 de setembro de 2010 23:54 by Paleo | with no comments

Filed under:

Windows SteadyState

Se você gerencia computadores em uma escola, laboratório, biblioteca ou cyber café, este programa é para você.

Com ele você consegue definir o que os usuários podem ou não fazer no sistema e assim garantir que ele funcione sempre da mesma forma.

Conheça o Windows SteadyState!

Posted quinta-feira, 30 de setembro de 2010 23:51 by Paleo | with no comments

Filed under:

WorldWide Telescope

Que tal possuir um telescópio em seu computador?

Desfrute do imagens do telescópio espacial Hubble, no conforto de seu lar. Você pode passear pelo universo e quem sabe encontrar alguma espaçonave alienígena?

É não creio que chegue a tanto, mas vale a pena conhecer o WorldWide Telescope!

Posted quinta-feira, 30 de setembro de 2010 23:44 by Paleo | with no comments

Filed under:

XML Notepad 2007

Você já desejou ter um editor de XML básico, mas poderoso?

Então você precisa conhecer o XML Notepad 2007. Quanto custa? Nada.

O desenvolvedor é confiável? Sim

Não tem spyware nele? Não

Quem o criou? Microsoft

Até Intellisense ele possui...

Já gostou? Saiba ainda mais aqui: http://msdn.microsoft.com/en-us/library/aa905339.aspx

Posted quinta-feira, 30 de setembro de 2010 23:33 by Paleo | with no comments

Filed under:

Você conhece o Paint.NET?

Paint.NET

Este software começou como um projeto com .NET de dois alunos da Washington State University, mas constatou-se ser um programa tão bom para edição de imagens, além de um excelente exemplo da utilização da linguagem .NET que a Microsoft contratou os seus dois desenvolvedores e permitiu que eles continuassem o projeto, além de decidir oferecê-lo como um download gratuito. Além disso tudo ele possui uma interface intuitiva e é fácil de usar. Conheça-o!

Ele é comparável a outros softwares que você já deve ter ouvido falar, como: Adobe Photoshop, Corel Paint Shop Pro ou The GIMP. Faça suas comparações e tire suas conclusões.

 

Posted quinta-feira, 30 de setembro de 2010 23:23 by Paleo | with no comments

Filed under:

Configurando modem para acesso remoto com IP dinâmico

Vários leitores do blog me enviaram e-mails perguntando como deviam configurar o modem para IPs dinâmicos, possibilitando seus acessos remotos. Bem, isso vai depender muito da marca e modelo do modem, pois os fabricantes podem implementar isto de diversas formas.

Explico abaixo como fazer isso num modem D-Link 500-B (que é um dos mais comuns no mercado para ADSL). Se o seu modem for outro, procure por uma opção com nome similar.

1. Acesse ao mundo no endereço http://10.1.1.1 (este é o padrão, se você alterou ele, use o que colocou);

2. Informe usuário admin e senha admin (novamente estes são os padrões, se alterou, coloque os seus);

3. Clique em DNS;

4. Clique em Dynamic DNS;

5. Informe os dados conforme demonstrado na figura e depois clique em Add;

6. Mande salvar e gravar (Management > > Save & Reboot).

Pronto.

Posted quinta-feira, 30 de setembro de 2010 17:00 by Paleo | with no comments

Filed under:

Menus do Office 2003 nas versões 2007 e 2010

Momento Nostalgia! Você já está usando as versões 2007 ou 2010 do Office, mas ainda sente falta dos menus da versão 2003?

Sem problemas. Vi essa dica sendo fornecida pelo Mauricio Cassemiro da Conceição e achei que valia a pena postar aqui.

É um add-in desenvolvido por Ubit Schweiz e está disponível para download gratuito na Baixaki.

UBit Menu 1.04
UBitMenu para Microsoft Office 2010

Posted quarta-feira, 29 de setembro de 2010 10:27 by Paleo | 1 comment(s)

Filed under:

Salvando todos os documentos

Digamos que você esteja trabalahndo com vários documentos do Word abertos ao mesmo tempo e deseja salvar todos eles de uma só vez. O que pode ser feito se estiver no Word 2007?

Em versões anteriores tinhamos o botão Salvar Tudo com o ícone de vários disquetes, mas agora não temos mais (?).

Temos sim, apenas não está visível e para fazê-lo aparecer faça o seguinte:

1. Clique no botão do Office e selecione Opções do Word;

2. Clique em Personalizar no menu do lado esquerdo;

3. Na caixa Escolher comandos em, onde estará selecionado Comandos mais usados, altere para Todos os comandos;

4. Na caixa com as opções de comandos, role até aparecer Salvar tudo;

5. Clique em Adicionar > >;

6. Clique em OK.

Pronto, ele aparecerá ao lado do botão Localizar no topo da janela.

Posted quarta-feira, 29 de setembro de 2010 3:29 by Paleo | with no comments

Filed under:

Restringindo a inserção de datas de finais de semana

Digamos que você possua uma planilha onde devem ser inseridas datas em alguns campos, mas não podem ser inseridas datas referentes a finais de semana. Como você poderia evitar isso?

Bem simples e nem precisa usar VBA:

1. Selecione a área onde deseja usar esta regra (por exemplo, nas células de C1 até C10);

2. clique no Menu Dados;

3. Clique em Validação de Dados na Ribbon e selecione Validação de dados...;

4. No campo Permitir, altere de Qualquer valor para Personalizado;

5. No campo Fórmula digite =E(DIA.DA.SEMANA(C1)<>1;DIA.DA.SEMANA(C1)<>7);

6. Selecione a caixa Aplicar alterações a todas as células com as mesmas configurações.

Pronto!

Repare que na fórmula eu informei apenas a célula C1, mas como marquei a caixa citada no item 6. e havia selecionado as células antes, a regra de validação foi aplicada a todo o intervalo de C1 até C10.

Posted quarta-feira, 29 de setembro de 2010 2:56 by Paleo | with no comments

Filed under:

Trabalhando com zeros precedentes

Algumas vezes estamos trabalhando com números onde precisamos que sejam expostos os zeros precedentes, mas ao digitarmos no Excel algo como 000005, o que obtemos é 5.

Como então podemos forçar que sejam expostos todos os 5 zeros precedentes?

Simples, formatando a célula da seguinte forma:

1. Digite o valor desejado (000005) em uma célula;

2. Com a célula onde está o valor selecionada (e onde agora você está vendo: 5), pressione Ctrl + 1;

3. Selecione a guia Número e dentro dela a categoria Personalizado;

4. Do lado direito, no campo Tipo (onde estará escrito Geral, digite 6 zeros (para definir a quantidade de dígitos numérico que deseja);

5. Clique em OK.

Pronto! Estará aparecendo 000005 na célula.

Posted quarta-feira, 29 de setembro de 2010 2:49 by Paleo | with no comments

Filed under:

Como usar códigos VBA em planilha

Para que você consiga usar códigos VBA em planilhas (como os que postei neste blog) são necessários os seguintes passos, para inserir o código em uma planilha e para executá-lo:

  1. Copie o código;
  2. Abra a planilha onde deseja usá-lo;
  3. Pressione Alt + F11 para abrir o Visual Basic Editor (VBE);
  4. A partir do Menu, selecione Insert -> Module;
  5. Cole o código no lado direito da janela;
  6. Feche o VBE e salve o arquivo, se desejar.

Para executar o código:

  1. Pressione Alt + F8;
  2. Escolha o nome da macro que deseja executar e clique em Execute ou simplesmente dê dois cliques no nome da macro.

 

Posted terça-feira, 28 de setembro de 2010 17:29 by Paleo | with no comments

Filed under:

Recuperando senha de proteção de planilha Excel

Digamos que você colocou uma senha de proteção em sua planilha, mas acabou esquecendo ela e agora precisa liberar o acesso à edição da mesma. O que fazer?

Aqui apresento um script que utiliza a abordagem de força bruta para contornar este problema.

Antes de partirmos para o script vamos entender uma coisa. O excel armazena o hash da senha informada e não a senha em si. Por um lado isto é muito positivo, mas por outro reduz a segurança. Por que? Porque basta que obtenhamos uma senha que gere o mesmo hash  que teremos acesso aos dados, mesmo que ela não seja a mesma informada na hora da proteção. Pois é exatamente isto que o meu código faz, um ataque de força bruta (testando todas as combinações, baseado na tabela ASC-II) para obter um hash semelhante.

Este código funciona muito bem para o Excel até a versão 2003. Da versão 2007 em diante a coisa complica, pois passa a ser usado outro sistema de segurança que é MUITO mais complexo de se burlar.

Sub QuebraSenhaEsquecida()

'Declara variáveis
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer

'Define a faixa por onde devem ocorrer os testes. São não preciso testar exatamente todas combinações em todas posições, pois se quero obter um hash
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126

'Identifica se senha funcionou
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
 Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
 & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

'Mostra senha funcional em mensagem (não é a que foi utilizada quando da proteção)
If ActiveSheet.ProtectContents = False Then
 MsgBox "Uma senha utilizável é " & Chr(i) & Chr(j) _
 & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) _
 & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
 Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next

End Sub

Posted terça-feira, 28 de setembro de 2010 11:11 by Paleo | 4 comment(s)

Filed under:

Removendo comentários do VBA

Quando escrevo algum código em VBA, comento ele todo. Praticamente cada linha possui um comentário explicando o que estou fazendo ali e porque. Isso facilita a minha vida quando preciso adaptar algo depois de um tempo e quando tenho de interromper  a codificação para retomar mais tarde.

Mas qual o sentido de entregar um código todo comentado? Se o cliente deseja um código todo mastigadinho (ensinando a fazer), precisa pagar um adicional para isso, ainda que a grande maioria dos meus códigos seja desenvolvida com os comentários.

Agora, se o cliente não deseja pagar pelos comentários (o que sai caro), o que fazer para removê-los da versão a ser entregue? Apagar linha por linha é cruel. Já fiz projetos com mais de 40.000 linhas, manualmente seria impossível apagá-las.

Qual a solução então? Usar uma macro para isso. Pois aqui está ela:

Option Explicit
 
Sub SemComentarios()
    
Dim n               As Long
Dim i               As Long
Dim j               As Long
Dim k               As Long
Dim LineText        As String
Dim ExitString      As String
    
    For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
        With ActiveWorkbook.VBProject.VBComponents(i).CodeModule
            For j = .CountOfLines To 1 Step -1
                LineText = Trim(.Lines(j, 1))
                If LineText = "ExitString = " & _
                """" & "Ignora comentários neste módulo" & """" Then
                Exit For
            End If
            n = InStr(1, LineText, "' ")
            Select Case n
            Case Is = 0
            Case Is = 1
                .DeleteLines j, 1
            Case Is > 1
                .ReplaceLine j, Left(LineText, n - 1)
            End Select
        Next j
    End With
Next i
 
ExitString = "Ignora comentários neste módulo"
 
End Sub

Posted terça-feira, 28 de setembro de 2010 2:33 by Paleo | with no comments

Filed under:

Validando o domínio de um e-mail

Este código de VBA serve de complemento ao postado antes, que verifica a sintaxe. Já este valida se o domínio é válido. Preparado para rodar com domínios .br, mas com pequeno ajuste funcionaria com os domínios .com também.

Sub email()
    Dim txtEmail As String
    txtEmail = InputBox("Digite o endereço", "Endereço de e-mail")
   
    Dim ObjXML
    Dim ResultadoConsulta
    Dim Situacao
   
    If IsEmailValid(txtEmail) Then
           
        Dominio = Split(txtEmail, "@")
        If Len(Dominio(1)) < 9 Then
            Situacao = "Error ! The domain must have at least 3 characters"
        ElseIf Len(Dominio(1)) > 32 Then
            Situacao = "Error ! The domain must have at the maximum 26 characters"
        Else
            Set ObjXML = CreateObject("Microsoft.XMLHTTP")
       
            ObjXML.Open "GET", "
http://registro.br/cgi-bin/nicbr/whois?qr=" & Dominio(1), False
       
            ObjXML.Send
       
            ResultadoConsulta = ObjXML.ResponseText
       
            If InStr(1, ResultadoConsulta, "Domínio inexistente") Then
                   
                Situacao = "Disponível para registro"
               
            ElseIf InStr(1, ResultadoConsulta, "Consulta inválida") Then
               
                Situacao = "Erro! Sintaxe inválida "
               
            Else
                Situacao = "Domínio de e-mail válido"
            End If
               
        End If
    Else
        Situacao = "Sintaxe de e-mail inválida!"
    End If
    ' Mostra resultado
    MsgBox Situacao
End Sub

Posted terça-feira, 28 de setembro de 2010 2:28 by Paleo | with no comments

Filed under:

Validando um e-mail pelo VBA

Muitas vezes precisamos inserir e-mails em nossas planilhas, mas o que fazer se você deseja que estes e-mails sejam validados, a fim de evitar erros de digitação?

Aqui está o código em VBA que realiza isso:

Sub email()
    Dim txtEmail As String
    'Obtém o endereço de e-mail
    txtEmail = InputBox("Digite o endereço", "Endereço de e-mail")
   
    Dim Situacao As String
    'Identifica a situação dele
    If IsEmailValid(txtEmail) Then
        Situacao = "Sintaxe válida de e-mail!"
    Else
        Situacao = "Sintaxe inválida de e-mail!"
    End If
    ' Mostra o resultado
    MsgBox Situacao
End Sub


Function IsEmailValid(strEmail)
    Dim strArray As Variant
    Dim strItem As Variant
    Dim i As Long, c As String, blnIsItValid As Boolean
    blnIsItValid = True
    

    i = Len(strEmail) - Len(Application.Substitute(strEmail, "@", ""))
    If i <> 1 Then IsEmailValid = False: Exit Function

    ReDim strArray(1 To 2)
    strArray(1) = Left(strEmail, InStr(1, strEmail, "@", 1) - 1)
    strArray(2) = Application.Substitute(Right(strEmail, Len(strEmail) - Len(strArray(1))), "@", "")
    For Each strItem In strArray
        If Len(strItem) <= 0 Then
            blnIsItValid = False
            IsEmailValid = blnIsItValid
            Exit Function
        End If
        For i = 1 To Len(strItem)
            c = LCase(Mid(strItem, i, 1))
            If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then
                blnIsItValid = False
                IsEmailValid = blnIsItValid
                Exit Function
            End If
        Next i
        If Left(strItem, 1) = "." Or Right(strItem, 1) = "." Then
            blnIsItValid = False
            IsEmailValid = blnIsItValid
            Exit Function
        End If
    Next strItem
    If InStr(strArray(2), ".") <= 0 Then
        blnIsItValid = False
        IsEmailValid = blnIsItValid
        Exit Function
    End If
    i = Len(strArray(2)) - InStrRev(strArray(2), ".")
    If i <> 2 And i <> 3 Then
        blnIsItValid = False
        IsEmailValid = blnIsItValid
        Exit Function
    End If
    If InStr(strEmail, "..") > 0 Then
        blnIsItValid = False
        IsEmailValid = blnIsItValid
        Exit Function
    End If
    IsEmailValid = blnIsItValid
End Function

Posted terça-feira, 28 de setembro de 2010 2:13 by Paleo | with no comments

Filed under:

More Posts Next page »