2

Можно ли запустить работающий макрос, предлагающий пользователю выбрать один из открытых документов Excel?

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

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

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

Я нашел Application.GetOpenFilename который похож на то, что я хочу, но позволяет выбрать сохраненное местоположение. Обычно мой файл не сохраняется нигде (по крайней мере, нигде, в частности, я уверен, что он находится где-то во временном пространстве), и было бы проще просто открыть файл прямо из электронного письма и попросить макрос спросить, какой файл открыт. правильный для использования. Это возможно?

1 ответ1

1

Вы можете создать пользовательскую форму с помощью ComboBox, заполненного открытыми рабочими книгами и рабочими листами. Показать варианты и выбрать один.

Sub ViewListOfOpenWorkBooksAndWorkSheets()
Dim book As Workbook, sheet As Worksheet
 For Each book In Workbooks
  For Each sheet In book.Worksheets
   UserForm1.ComboBox1.AddItem book.Name + "!" + sheet.Name
  Next sheet
 Next book
UserForm1.Show
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .