Ir ao conteúdo

Posts recomendados

Postado

Sei o título é horrível, mas vou explicar:

A Macro abaixo tinha a intenção de pegar o arquivo LetrasMusicas.doc que contem 100 musicas separadas por quebra de página.

A primeira linha de cada página tem o nome da musica

 

O que quero:

Com o arquivo "LetrasMusicas.doc" aberto, rodar a macro e gerar um arquivo para cada música. Ou seja, serão gerados 100 arquivos.

Até este ponto deu certo, porém não consigo capturar a primeira linha de cada página para nomear a saída de cada um dos 100 novos arquivos.

Deu erro onde está a linha que começa com "=" (Coloquei só pra identificar a linha, "=" não está no código mesmo). Aparece a seguinte mensagem de erro: Referência inválida ou não qualificada.

Sub BreakOnPage()Dim Texto As StringApplication.Browser.Target = wdBrowsePageFor i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")ActiveDocument.Bookmarks("\page").Range.CopyDocuments.AddSelection.PasteSelection.TypeBackspaceChangeFileOpenDirectory "C:\aqui"DocNum = DocNum + 1"=".Selection.MoveDown Unit:=wdLine, Count:=DocNum, Extend:=wdExtendTexto = .SelectionActiveDocument.SaveAs FileName:=Texto & ".doc", FileFormat:=wdFormatTextActiveDocument.CloseApplication.Browser.NextNext iActiveDocument.Close savechanges:=wdDoNotSaveChangesEnd Sub
Postado

Pesquisei pela msg de erro e achei o seguinte

Referência inválida ou não qualificadaOffice 2013Última alteração: terça-feira, 6 de dezembro de 2011Aplica-se a: Office 2013 | VBAUm identificador começando com um ponto é válido somente dentro de um bloco With . Este erro tem a causa e solução a seguir:O identificador começa com um ponto. Conclua a qualificação do identificador ou remover o período.

Fonte de pesquisa Aqui


Retirei os pontos mas mesmo assim não funcionou, deu erro de depuração número: 4198

Postado

Fuça que fuça e cheguei aqui.

Agora o erro é de falta de permissão para a gravação do novo arquivo.

Sub BreakOnPage()Dim Nome As StringApplication.Browser.Target = wdBrowsePageFor i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")ActiveDocument.Bookmarks("\page").Range.CopyNome = RTrim(LTrim(ActiveDocument.Paragraphs(1).Range.Text))Documents.AddSelection.PasteSelection.TypeBackspaceChangeFileOpenDirectory "C:\temp"DocNum = DocNum + 1ActiveDocument.SaveAs FileName:=DocNum & " - " & Nome & ".doc"ActiveDocument.CloseApplication.Browser.NextNext iActiveDocument.Close savechanges:=wdDoNotSaveChangesEnd Sub
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!