Automatizar A Junção De Correio

Aqui está o problema do meu post original:

tenho um modelo de palavra (dotm) que tem campos que gostaria de preencher a partir de um ficheiro Excel de uma linha/entrada. Tenho um "duro".txt", o conteúdo do qual eu gostaria de inserir em um lugar específico neste mesmo documento gerado por e-mail merge, além da Informação do arquivo Excel.

Eu gostaria de gerar um DOC ou DOCX a partir deste processo de scripting que é gravado no mesmo directório que o ficheiros acima mencionados. Eu gostaria que isso fosse feito clicando em executar em um arquivo bat ou tipo semelhante de situação que não me envolve manualmente abrir o arquivo e clicar nos botões cada vez que eu quero fazer isso. Gostaria que fosse mais simples do que abrir a palavra manualmente e executar a macro.

Além disso, se eu puder colocá-lo em um arquivo executável/"runnable" como um morcego ou algo semelhante, então eu posso anexar um atalho para ele e executá-lo com comandos de voz Cortana. É por isso que vou deste ângulo. Isto seria uma jóia para se ter. O importante aqui é que ele funciona quando eu digo, Não agendado em um determinado momento. Fiz isto com outros morcegos com grande sucesso.


Então usei uma combinação de todas as respostas para construir o seguinte:

Eu tenho um arquivo bat com um monte de comandos peidos nele para corrigir muitos erros de gramática comuns em um documento; é irrelevante e longo, então eu não vou postá-lo aqui. Chama-se FINISH-1.morcego.

Então tenho um segundo ficheiro BAT, FINISH-2.MTD, que contém apenas o seguinte:

"C:\Program Files\Microsoft Office 15\root\office15\winword.exe" "/mRunAllMacros" "C:\Transcription\Transcription\In Progress\NewKCJob\Transcript.docx"

Então eu criei cerca de 20 macros do Microsoft Word find/replace para estilos que eu não vou postar aqui, uma vez que isso não era relevante para a pergunta.

Fiz mais duas macros em palavras que são relevantes para o meu problema. O seguinte completa a junção de E-mail para o meu arquivo Excel, que é exportado do Jotform.

Sub MailMergeCover()
'
' MailMergeCover Macro
'
'
ActiveDocument.MailMerge.OpenDataSource Name:= _
    "C:\Transcription\Transcription\In Progress\JotformExport.xlsx", _
    ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
    AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
    WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
    Format:=wdOpenFormatAuto, Connection:= _
    "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Transcription\Transcription\In Progress\JotformExport.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet " _
    , SQLStatement:="SELECT * FROM `Submissions$`", SQLStatement1:="", _
    SubType:=wdMergeSubTypeAccess
With ActiveDocument.MailMerge
    .Destination = wdSendToNewDocument
    .SuppressBlankLines = True
    With .DataSource
        .FirstRecord = wdDefaultFirstRecord
        .LastRecord = wdDefaultLastRecord
    End With
    .Execute Pause:=False
End With
Windows("Transcript.docx [Compatibility Mode]").Activate
End Sub
E a macro que se segue insere o meu "áspero".Txt" documento na mesma transcrição / documento Word no favorito que eu inseri chamado "rough":

Sub InsertRough()
'
' InsertRough Macro
'
'
If ActiveDocument.Bookmarks.Exists("rough") = True Then
    ActiveDocument.Bookmarks("rough").Select
    Selection.InsertFile FileName:="C:\Transcription\Transcription\In Progress\NewKCJob\Rough.txt"
Else
    MsgBox "Bookmark ""rough"" does not exist!"
End If
End Sub

o próximo passo era atá-los todos juntos em uma determinada ordem de modo que a minha busca/substituição macros que mencionei anteriormente também se aplica a "áspero.txt:

Sub RunAllMacros()
Call InsertRough
Call Macro1
Call Macro2
Call Macro3
Call Macro4
Call Macro5
Call Macro6
Call Macro7
Call Macro8
Call Macro9
Call Macro10
Call Macro11
Call Macro12
Call Macro13
Call Macro14
Call Macro15
Call Macro16
Call Macro17
Call Macro18
Call Macro19
Call Macro20
Call MailMergeCover
End Sub
O segundo a último passo era fazer um terceiro ficheiro bat, terminar.bat, que a Cortana vai usar, para ligar para os dois ficheiros bat:

call "C:\Transcription\Transcription\In Progress\NewKCJob\FINISH-1.bat"
call "C:\Transcription\Transcription\In Progress\NewKCJob\FINISH-2.bat"

o último passo foi criar um atalho para terminar.MTD C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\programas chamados de "terminar a tarefa" para Cortana indexar.

Agora, posso dizer: "Cortana, Abre o trabalho final," e fará isto por mim automaticamente.

Acabei de raspar 20 minutos a uma hora de todas as transcrições que completei enquanto fazia muitas destas correcções manualmente. gostaria de respeitar e seguir as regras o máximo que puder, por isso, se não estou a dar pormenores suficientes ou a fazer algo de anormal, permitam-me que faça algumas observações. fica a saber para eu o arranjar. Mais uma vez, Muito obrigado!! A sério, não teria feito isto sem a tua ajuda.

Author: Erica, 2016-03-12

1 answers

Com base na informação que fornece:

  1. Criar um modelo (*.por isto. Duplo-click it in the Windows O Explorer / o ambiente de trabalho irá criar um novo documento.
  2. o ficheiro de texto: presumo que se insira "tal como está" sem qualquer a processar, por isso basta usar o Inserir/texto / objecto / texto do ficheiro comando na palavra UI. Carregue na seta ao lado do botão "Inserir" na janela e escolha Inserir Com a ligação.
  3. usar os envios/Correio incorporados do Word Ferramenta de junção para ligar ao Excel fonte de dados
  4. grava uma macro para executar a junção de E-mail.
  5. crie uma macro chamada AutoNew no modelo e copie o conteúdo de a macro gravada. Esta macro será executada automaticamente quando um novo documento é criado a partir do modelo.
 0
Author: Cindy Meister, 2016-03-12 21:53:16