Удаление созданного файла jpg, из которого скопирована картинка в форму - VBA

Узнай цену своей работы

Формулировка задачи:

Всем доброго время суток! Возникла проблема удаление созданного файла .jpg. Я при помощи кода копирую картинку из листа Excel в файл, и уже потом загружаю этот рисунок в форму.
Листинг программы
  1. Sub Main() 'Сохранение картинки в файл
  2. Dim sh As Shape, n As Long
  3. For Each sh In Sheets(8).Shapes
  4. If sh.Type = msoPicture Then
  5. sh.CopyPicture: OpenClipboard (0&): n = GetClipboardData(14)
  6. CopyEnhMetaFile n, "c:" & "picture111" & ".jpg": CloseClipboard
  7. End If
  8. Next
  9. End Sub
Листинг программы
  1. UserForm2.Image1.Picture = LoadPicture("c:" & "picture111" & ".jpg")
После выполнение действий в блоке мне необходимо удалить этот файл, но я не могу его удалить, т.к. он используется программой. Даже после остановки макросов файл не удаляется. Удалить его можно только лишь после закрытия Excel'я. Возможно ли как-нибудь удалить этот файл до закрытия программы?(закрыть обращение Excel к этому файлу)
Ах, да забыл. Объявляю следующие функции
Листинг программы
  1. Private Declare Function OpenClipboard Lib "user32.dll" (ByVal hwnd As Long) As Long
  2. Private Declare Function CloseClipboard Lib "user32.dll" () As Long
  3. Private Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long
  4. Private Declare Function CopyEnhMetaFile Lib "gdi32" Alias "CopyEnhMetaFileA" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long

Решение задачи: «Удаление созданного файла jpg, из которого скопирована картинка в форму»

textual
Листинг программы
  1. Private Declare Function DeleteEnhMetaFile Lib "gdi32.dll" (ByVal hemf As Long) As Long
  2.  
  3. ...
  4.  
  5. Dim n As Long, h As Long
  6. ...
  7. h = CopyEnhMetaFile(n, "C:\picture111.jpg")
  8. DeleteEnhMetaFile h
  9. Kill "C:\picture111.jpg"

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы