Como obter um tamanho menor de um ícone para um arquivo incorporado por padrão ou usando uma macro no Microsoft Excel

1

Estou usando o Microsoft Excel 2010 no Windows 7. Eu tenho uma atribuição que exige que eu continue incorporando objetos de um arquivo compactado em uma célula em uma planilha do Microsoft Excel a cada poucos minutos.

O ícone do arquivo compactado é grande e ocupa a altura de três células adjacentes. Portanto, toda vez que eu incorporar o arquivo compactado, clico com o botão direito do mouse no ícone e, em seguida, seleciono o item de menu do objeto de formato, seguido pela alteração do tamanho do ícone para 50% do tamanho original.

Existe uma maneira de definir o tamanho padrão de um ícone no Microsoft Excel? Se não há uma maneira de automatizar o procedimento de configuração do formato do objeto incorporado usando uma macro? Eu procurei muito, mas não consegui encontrar nada. Eu tentei script VBA para um objeto específico, mas não pode fazer isso para qualquer objeto

Obrigado por qualquer entrada

Edit: obrigado pelo comentário que me obrigou a postar na macro. Aqui está uma macro que eu tinha gravado, mas é apenas para um objeto específico que é o objeto 21. Existem vários problemas com este código que eu estou delineando abaixo do código

Sub Reduce_size_icon() 
' 
' Reduce_size_icon Macro
' Reduce the size of the icon 
'
'
    ActiveSheet.Shapes("Object 21").LockAspectRatio = msoTrue
    ActiveSheet.Shapes("Object 21").Height = 20.25
    ActiveSheet.Shapes("Object 21").Width = 69.75 End Sub
  1. Isso é apenas para um objeto específico. Uma forma de percorrer todos os objetos possíveis em uma planilha e, em seguida, reduzir sua altura. Mas se eu estou adicionando os objetos um por um, a macro precisa ser executada apenas no último objeto e não em todos antes de fazê-lo, porque eles já foram formatados, especialmente se quisermos que a altura e a largura sejam reduzidas 50% das dimensões atuais. (Veja o ponto 2)
  2. seria melhor se pudéssemos reduzir a altura pela metade em vez de atribuir valores absolutos à altura. Isso ocorre porque às vezes posso ter objetos de arquivos diferentes e, portanto, de tamanhos de ícones diferentes.
  3. Após analisar seu comentário, percebi que talvez seja muito mais fácil criar uma macro que incorpore e formate automaticamente um objeto na célula realçada na qual a macro é executada. No entanto, o que queremos é que o objeto seja criado de um arquivo diferente a cada vez. Portanto, é possível que a macro possa executar exatamente as mesmas etapas de construção de um objeto, mas no ponto em que ele solicita o caminho do arquivo, ele pode parar e permitir que o usuário escolha um arquivo específico?

E, claro, a maneira mais fácil é poder especificar o tamanho do ícone para os valores padrão para que ele sempre incorpore um tamanho menor.

    
por Ramana 25.08.2018 / 18:03

1 resposta

0

Não tenho certeza se há alguma configuração em qualquer lugar no Excel que especifique o tamanho padrão de Icon para o objeto incorporado. Se houver, eu realmente gostaria de saber sobre isso. Isso tornará o trabalho muito simples.

No momento, sugiro apenas uma macro pequena que seja assim.

Isso é testado no Excel 2013 e espero que também funcione no Excel 2010.

Na planilha atual Pressione ATL + F11 para acessar o VBA Editor. Insira um Módulo e cole o seguinte código nele.

Sub SelectOLE()
Dim objFileDialog As Office.FileDialog
    Set objFileDialog = Application.FileDialog(MsoFileDialogType.msoFileDialogFilePicker)

        objFileDialog.AllowMultiSelect = False
        objFileDialog.ButtonName = "Select File"
        objFileDialog.Title = "Select File"
        objFileDialog.Show

        If (objFileDialog.SelectedItems.Count > 0) Then

        Set f = ActiveSheet.OLEObjects.Add _
            (Filename:=objFileDialog.SelectedItems(1), _
              Link:=False, _
              DisplayAsIcon:=True, _
              IconLabel:=objFileDialog.SelectedItems(1), _
              Top:=ActiveCell.Top, _
              Left:=ActiveCell.Left _
             )
        f.Select
        f.Width = 18   'Adjust as per your needs
        f.Height = 18  'Adjust as per your needs

        End If

End Sub

Você também pode atribuir um atalho de teclado a essa macro. Salve seu arquivo como .xlsm Macro Enabled Excel Workbook.

Agora, toda vez que você precisar incorporar um objeto, primeiro clique na célula onde deseja incorporar e execute essa macro. Selecione o arquivo na caixa de diálogo Abrir arquivo e clique no botão Abrir.

Você pode decidir melhor a largura & Parâmetros de altura conforme suas necessidades no código. Apenas observe que esse código pode não ser robusto e não ter sido testado para nenhum valor discrepante ou manipulação de exceção como tal.

Veja a imagem abaixo, como isso funciona.

    
por 27.08.2018 / 06:20