Inter_E Пользователь Сообщений: 399 |
Добрый день! With my best regards, Inter_E |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Привет. Я сам — дурнее всякого примера! … |
Hugo Пользователь Сообщений: 23251 |
А если в середине названия такое встречается? У меня бывало |
Inter_E Пользователь Сообщений: 399 |
{quote}{login=KuklP}{date=17.08.2010 01:28}{thema=}{post}Привет. Да Hugo прав, если в середине окажется? Мне тоже мысль отрезать в первую очередь приходило. Но это тоже не красивый вариант. With my best regards, Inter_E |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Ну если в середине названия оказывается «.xls», то можно только посочувствовать тому, кто так называет файлы и помянуть добрым словом старый добрый DOS:-) Я сам — дурнее всякого примера! … |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
{quote}{login=Inter_E ответ > KuklP}{date=17.08.2010 01:41}{thema=Re: }{post}{quote}{login=KuklP}{date=17.08.2010 01:28}{thema=}{post}{/post}{/quote}если в середине окажется? {/post}{/quote} |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Вдогонку: файл называется xls.Книга1 |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
{quote}{login=Юрий М}{date=17.08.2010 02:20}{thema=}{post}Вдогонку: файл называется xls.Книга1{/post}{/quote} Не катит — точка не там. Надо: .xls.Книга1:-) Я сам — дурнее всякого примера! … |
Inter_E Пользователь Сообщений: 399 |
Кажется всетаки есть какая-та функция вроде «ActiveWorkbook.RootName» для получения только имени… With my best regards, Inter_E |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
MsgBox Replace(Application.Caption, «Microsoft Excel -«, «») |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
{quote}{login=Юрий М}{date=17.08.2010 03:07}{thema=}{post}MsgBox Replace(Application.Caption, «Microsoft Excel -«, «») Я сам — дурнее всякого примера! … |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Так, наверное: Я сам — дурнее всякого примера! … |
Inter_E Пользователь Сообщений: 399 |
{quote}{login=KuklP}{date=17.08.2010 03:24}{thema=}{post}Так, наверное: Огромное спасибо Вам Юрий, KukIP! With my best regards, Inter_E |
Inter_E Пользователь Сообщений: 399 |
{quote}{login=Inter_E ответ > KuklP}{date=17.08.2010 03:32}{thema=Re: }{post}{quote}{login=KuklP}{date=17.08.2010 03:24}{thema=}{post}Так, наверное: Огромное спасибо Вам Юрий, KukIP! Я думаю кто то точно сталкнется с этой проблемой With my best regards, Inter_E |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Ну, так проще — меньше бубнов: Я сам — дурнее всякого примера! … |
Hugo Пользователь Сообщений: 23251 |
Тоже не универсально — ведь у человека может вдруг быть код Private Sub Workbook_Open() ну мало ли, терпеть не может Microsoft |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Но опять же, куча точек в названии не редкость. Вот, например с этого форума: CompareFiles.Find.Rus.v132.xls. Так, что вернулись на исходную. Я сам — дурнее всякого примера! … |
Hugo Пользователь Сообщений: 23251 |
Пока писал, Сергей нашёл вариант, обходящий «Терпеть не могу» |
webley Пользователь Сообщений: 1995 |
еще вариант: |
Hugo Пользователь Сообщений: 23251 |
Хм… у меня часто в названии точка используется вместо «_» … |
Hugo Пользователь Сообщений: 23251 |
|
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Вот для придурошных имен: Я сам — дурнее всякого примера! … |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
У webley короче. Я сам — дурнее всякого примера! … |
Hugo Пользователь Сообщений: 23251 |
Да и с именем Bwdwqd.xls.jkkl.ook2.xls справился только webley. |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
{quote}{login=KuklP}{date=17.08.2010 03:18}{thema=Re: }{post}{quote}{login=Юрий М}{date=17.08.2010 03:07}{thema=}{post}{/post}{/quote}И что получится?{/post}{/quote} |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
то HUGO: Ну да. Я сам — дурнее всякого примера! … |
А у меня вариант Юрия работает отлично, вот! «39039» |
|
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Так: Я сам — дурнее всякого примера! … |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Я же отталкивался от того, что вижу у себя |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#30 17.08.2010 16:17:17 Серж, ремонтируй свой MsgBox |
VBA List all Open Workbooks in Excel. It helps to know all open workbooks name. It is easy to handle and shift between workbooks. We have an option to open multiple workbooks in MS Office Excel. Let us see in the following tutorial how to list open Workbooks in Excel VBA.
Here is the following syntax to List all Open Workbooks in Excel VBA.
For Each Workbook in Application.Workbooks Statements... Next
Where Workbook: It represents Workbook object which is part of workbooks collection.
VBA Code to List all Workbooks in Excel VBA
Let us see the following example macro to List all Open Workbooks in Excel VBA
'VBA List Open Workbooks in Excel Sub VBA_List_All_Open_Workbooks() 'Variable declaration Dim xWorkbook As Workbook Dim sWorkbookName As String Dim iCount As Integer 'Intialise value to a variable iCount = 2 Sheets("WB_Names").Range("A1") = "Names of Available Workbooks" 'Loop through all workbooks For Each xWorkbook In Application.Workbooks Sheets("WB_Names").Range("A" & iCount) = xWorkbook.Name & vbCrLf 'Increase value iCount = iCount + 1 Next End Sub
Instructions to Run VBA Macro Code or Procedure:
You can refer the following link for the step by step instructions.
Instructions to run VBA Macro Code
Other Useful Resources:
Click on the following links of the useful resources. These helps to learn and gain more knowledge.
VBA Tutorial VBA Functions List VBA Arrays in Excel Blog
VBA Editor Keyboard Shortcut Keys List VBA Interview Questions & Answers
Как получить названия открытых книг в ListBox |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Microsoft Excel позволяет открывать несколько книг одновременно, но переключаться между всеми открытыми книгами непросто. Поэтому вы можете перечислить все открытые книги в списке, чтобы легко переключаться между этими книгами в Excel. В этой статье мы покажем вам, как составить список всех открытых книг для удобной навигации в Excel.
Просто перечислите все открытые книги с VBA
Составьте список всех открытых книг и легко переключитесь на книгу с помощью VBA
Составьте список всех открытых книг и легко переходите к рабочей книге с помощью замечательного инструмента
Просто перечислите все открытые книги с VBA
В этом разделе вы узнаете, как использовать код VBA для вывода списка всех открытых книг в Excel.
1. Нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули.
2. Затем скопируйте и вставьте приведенный ниже код VBA в редактор кода.
VBA: список всех открытых имен книг в Excel
Sub ListWorkbooks()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Out put to (single cell)", xTitleId, WorkRng.Address, Type: = 8)
Set WorkRng = WorkRng.Range("A1")
xNum1 = Application.Workbooks.Count
For i = 1 To xNum1
xNum2 = Application.Workbooks(i).Sheets.Count
WorkRng.Offset(i - 1, 0).Value = Application.Workbooks(i).Name
For j = 1 To xNum2
WorkRng.Offset(i - 1, j).Value = Application.Workbooks(i).Sheets(j).Name
Next
Next
End Sub
3. Запустите код VBA, нажав кнопку F5 ключ. в KutoolsforExcel диалоговом окне укажите ячейку для размещения списка книг, а затем щелкните значок OK кнопка. Смотрите скриншот:
Затем перечисляются все открытые книги с соответствующими листами.
Трудно обрабатывать код VBA? Вы можете добиться этого через третий метод с кликами.
Составьте список всех открытых книг и легко переключитесь на книгу с помощью VBA
Если вы хотите перечислить все книги, чтобы легко переключаться между ними, попробуйте использовать VBA следующим образом:
1. нажмите другой + F11 для открытия Microsoft Visual Basic для приложений окно. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули.
2. Скопируйте и вставьте следующий код VBA в открытое окно модуля.
Код VBA: перечислить все открытые книги и перейти к книге
Sub SelectWB()
Dim xWBName As String
Dim xWb As Workbook
Dim xSelect As String
For Each xWb In Application.Workbooks
xWBName = xWBName & xWb.Name & vbCrLf
Next
xTitleId = "KutoolsforExcel"
xSelect = Application.InputBox("Enter one of the workbooks below:" & vbCrLf & xWBName, xTitleId, "", Type: = 2)
Application.Workbooks(xSelect).Activate
End Sub
3. нажмите F5 ключ для запуска кода. Потом KutoolsforExcel появится диалоговое окно со списком всех открытых книг. Если вы хотите перейти к указанной книге, введите имя этой книги в поле и нажмите кнопку OK кнопка. Смотрите скриншот:
Составьте список всех открытых книг и легко переходите к рабочей книге с помощью замечательного инструмента
Для Панель навигации of Kutools for Excel, все открытые книги будут автоматически перечислены на панели, чтобы вы могли легко перемещаться между всеми открытыми книгами. Вам просто нужно щелкнуть одну из открытых книг, и она сразу же перейдет к этой книге.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Добрый вечер! На последнем этапе стопор.
Есть файл, в модуле книги при запуске след.алгоритм:
1) Часть 1. Проверяем, запущена ли надстройка. Для этого обращаемся к ней по уже известному имени и запускаем проверочный макрос, который записан в стандартном модуле надстройки. В макросе одно сообщение: «Я работаю». Если успешно — выход, если нет — часть 2.
Visual Basic | ||
|
2) Часть 2. Во второй части прописан путь хранения надстройки, программа обращается к нему, открывает файл и снова выполняет проверочный макрос (эту часть прописала, чтобы убедиться, что файл надстройки никуда не переместили). Успешно — выход, нет — часть 3.
3) Часть 3. Появляется окно и предлагает самостоятельно выбрать файл надстройки.
Все работало ровно до тех пор, пока не пришла в голову мысль, а что будет, если:
1) переименовать файл надстройки;
1) сначала открыть надстройку;
2) открыть файл.
В этом случае происходит логичное действие — две вкладки: запущенная нами с новым именем надстройка и вторая (со старым именем), что вызывается самим файлом.
Попыталась исправить Часть 1 так:
Обращаемся к каждой книге, если ее расширение .xlam, то пытаемся запустить проверочный макрос с ее именем. Если макрос выполняется, то выходим. Если не выполняется, переходим к части 2 и 3.
Результат — провал.
1) Способ 1
Visual Basic | ||
|
2) Способ 2
Visual Basic | ||
|
Пробовала вызвать сообщением все книги и надстройки. В списке ее не показывает. Если в самой надстройке при ее запуске вписать thisworkbook.name, то показывает, конечно.
Что я делаю не так и как надо? Подскажите, пожалуйста.