2013-11-21 20 views
2

У меня есть таблица Excel, которую я создал как форму, мне нужно добавить подпись в несколько диапазонов на разных вкладках в книге.Вставить изображение из буфера обмена в Excel

У меня есть этот код, который будет вставляться из буфера обмена на мой лист, кажется, что вы хотите вставить только левый верхний край листа и не хотите изменять размер до установленных значений.

Как его получить, чтобы вставить, где я хочу, и размер, который я хочу? Из этого я буду хотеть, чтобы иметь возможность скопировать и вставить это в нескольких других листы с различными местами диапазона

Sub Signatures() 
    Sheets("MySheet1").Select 
    Range("A11").Select 
    ActiveSheet.Paste 
    Selection.ShapeRange.ScaleHeight 0.8513513514, msoFalse, msoScaleFromTopLeft 
    Selection.ShapeRange.ScaleWidth 0.9399224806, msoFalse, msoScaleFromTopLeft 
End Sub 
+0

Это неправильный способ идти об этом. Что делать, если какой-либо другой процесс копирует что-то еще в буфер обмена или ваш буфер обмена очищается? Сохраняется ли изображение в любом файле? –

+0

Мой процесс, откройте файл jpg внутри краски, сделайте выбор, чтобы скопировать, щелкните копию, зайдите в книгу Excel и нажмите на кнопку подписи места. Затем я хочу, чтобы вставить скопированную подпись в нужное место и размер до соответствующего размера, который я предопределю. Что было бы лучшим способом сделать это? – Jez

+0

Надеюсь, мое сообщение ниже отвечает на ваш вопрос в комментарии? –

ответ

1

Моим процесс, открыть файл JPG в пределах краски сделать выбор, чтобы скопировать, нажмите скопируйте, зайдите в книгу Excel и нажмите на кнопку подписи места. Затем я хочу, чтобы вставить скопированную подпись в нужное место и размер до соответствующего размера, который я предопределю. Что было бы лучшим способом сделать это?

Сохраните файл JPG. Допустим, вы сохранили его как "C:\Signature.Jpg"

Попробуйте этот код

Sub InsertSignatures() 
    Dim ws As Worksheet 
    Dim ImgPath As String 
    Dim W As Double, H As Double 
    Dim L As Long, T As Long 

    Set ws = ThisWorkbook.Sheets("MySheet1") 

    '~~> Change this to the releavnt pic file 
    ImgPath = "C:\Signature.Jpg" 

    With ws 
     W = 100     '<~~ Width 
     H = 100     '<~~ Height 
     L = .Range("A11").Left '<~~ Left Position for image 
     T = .Range("A11").Top '<~~ Top Position for image 

     With .Pictures.Insert(ImgPath) 
      With .ShapeRange 
       .LockAspectRatio = msoTrue 
       .Width = W 
       .Height = H 
      End With 
      .Left = L 
      .Top = T 
      .Placement = 1 
     End With 
    End With 
End Sub 

ВЫВОД

enter image description here

+0

Превосходный материал !! Делает удовольствие :-) спасибо за помощь. Вначале есть немного ручной работы, чтобы получить изображение, чтобы иметь только раздел подписи с изображения. Я говорю это, когда я просматриваю формы, которые подписаны, а затем беру подпись из этого и добавляя в таблицу Excel Excel – Jez

+0

Рад, что это сработало :) –

Смежные вопросы