Ir para conteúdo
Fórum Script Brasil
  • 0

Outlook para Excel - SEM QUEBRA DE PAGINA


eliasbrito.wong@gmail.com

Pergunta

Olá!

Estou precisando de uma ajuda na programação VBA no OUTLOOK.

  • Através da macro abaixo no Outlook, transfere as informações para um arquivo em EXCEL:

Option Explicit
Sub Outlook2Excel()
Dim xlApp As Object
Dim xlWB As Object
Dim xlSheet As Object
Dim rCount As Long
Dim bXStarted As Boolean
Dim enviro As String
Dim strPath As String

Dim currentExplorer As Explorer
Dim Selection As Selection
Dim olItem As Outlook.MailItem
Dim obj As Object

'Configurar novas strings (Celulas)
Dim strColE As String

'Configurações do Excel
enviro = CStr(Environ("USERPROFILE"))

'A parte da planilha
strPath = enviro & "\Documents\outlook2excel.xlsm" 'Nome do arquivo e local. *O arquivo tem que estar criado.
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err <> 0 Then
Application.StatusBar = "Aguarde por favor enquanto o Excel é executado..."
Set xlApp = CreateObject("Excel.Application")
bXStarted = True
End If
On Error GoTo 0

'Abre a planilha para colocar as informações
Set xlWB = xlApp.Workbooks.Open(strPath)
Set xlSheet = xlWB.Sheets("Plan1") 'nome da guia (o padrão das macros vem como Sheet1 e da erro)

' Processo de gravação da mensagem
On Error Resume Next
'Procura a proxima linha vazia da planilha
rCount = xlSheet.Range("E" & xlSheet.Rows.count).End(-4162).Row 'Informar qual coluna esta a macro da mensagem
'Pega os valores do Outlook.*As informações tem que estar selecionadas!!!!!
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection 'Pega os selecionados
For Each obj In Selection

Set olItem = obj

'Coleta dos campos
strColF = olItem.Subject 'Assunto da mensagem
strColB = olItem.SenderEmailAddress 'Igual ao senderemailaddress
strColE = olItem.Body 'corpo do email
strColC = olItem.To 'Nome de quem enviou
strColG = olItem.ReceivedTime 'Tempo da ultima resposta
strColD = olItem.CC 'Emails copiados

'Escreva na colunas da guia definida
xlSheet.Range("E" & rCount) = strColE 'MENSAGEM

'Proxima linha!
rCount = rCount + 1

Next

xlWB.Close 1
If bXStarted Then
xlApp.Quit 'Fecha a planilha
End If

Set olItem = Nothing
Set obj = Nothing
Set currentExplorer = Nothing
Set xlApp = Nothing
Set xlWB = Nothing
Set xlSheet = Nothing
End Sub

---------------

Porem durante o processo, a coluna "E" aumenta o tamanho da linha devido o corpo do email que tem a quebra de pagina.
Queria tirar a quebra de pagina em TEMPO REAL, ou seja, assim que transfere a informação.

Como que faço isso no Outlook?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...