MS Excel - crie uma captura de tela de cada planilha (usando script?)

1

É possível tirar capturas de tela de todas as planilhas no Excel (por um script, por exemplo)?

Veja este exemplo . Quero, de alguma forma, exportar os dados do retângulo verde para o JPG (ou outro formato) e fazer isso para todas as folhas.

Encontrei esta solução: excel vba: para exportar várias planilhas do excel para o arquivo jpg designado e parece muito bom, mas existe um intervalo definido Range("B5:M60"). É possível fazer isso de forma mais dinâmica?

Pepa Zapletal
fonte

Respostas:

1

Modifiquei levemente o código mencionado para fazer o seguinte.

Loop através de todas as folhas

Peça para usar o Intervalo de entrada para capturar a captura de tela

Salve o Sheetname.jpg na pasta C: \ Temp. O nome do arquivo é Sheetname com extensão .jpg

Observe que isso não irá capturar nenhum objeto incorporado, por exemplo, Formas inseridas ou Imagens, etc. Ele capturará apenas a captura de tela do intervalo de células inseridas para cada folha. Além disso, não há validações rigorosas. Se você simplesmente cancelar a Entrada, o código resultará em um erro de tempo de execução.

O código é o seguinte. Verifique se isso atende aos seus requisitos. O código original está neste Post SU

Sub exportpic()

Dim WS As Worksheet
Dim rgExp As Range
Dim CH As ChartObject


   For Each WS In ThisWorkbook.Sheets
            WS.Activate
            Set rgExp = Application.InputBox(prompt:="Select Input Range", Type:=8)
            rgExp.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
            Set CH = WS.ChartObjects.Add(Left:=rgExp.Left, Top:=rgExp.Top, Width:=rgExp.Width, Height:=rgExp.Height)
            CH.Chart.ChartArea.Select
            CH.Chart.Paste
            CH.Chart.Export "C:\Temp\" & WS.Name & ".jpg"
            CH.Delete


    Next WS

End Sub
patkim
fonte
Obrigado! Parece muito bom. Mais uma coisa: é possível ativar copiar e colar nessa caixa de entrada?
Pepa Zapletal 24/10
Não tenho muita certeza do que você quer dizer com copiar e colar. Quando você clica com o botão direito na caixa de texto, se houver algo na opção 'Colar' da área de transferência, deve aparecer.
22417 Patkim #
Sim, desculpe. Testei-o em folhas que eram somente leitura e estavam desativadas. Agora está tudo bem.
Pepa Zapletal 24/10