Прескочи на основното съдържание

Как да експортирам всички макроси от една работна книга в друга?

Автор: Xiaoyang Последна промяна: 2020-08-06

Ако трябва да експортирате множество макро кодове vba от една работна книга в друга, можете да ги копирате един по един нормално. Но това ще отнеме много време, в тази статия ще говоря за това как бързо да експортирате всички макроси от една работна книга в друга и да запазите макро файловете в конкретна папка.

Експортирайте всички макроси от една работна книга в друга с VBA код


Експортирайте всички макроси от една работна книга в друга с VBA код

За да експортирате всички макро vba кодове от един Excel файл в друг, моля, изпълнете следните стъпки:

1. Първо, трябва да отворите двете работни книги едновременно, едната съдържа макроси, другата е тази, към която искате да експортирате макроси, вижте екранната снимка:

doc макроси за експортиране 1

Раздел Office - Отваряне, четене, редактиране и управление на множество документи на Office в един прозорец с раздели

Office Tab позволява сърфиране с раздели, редактиране и управление на приложения на Microsoft Office. Можете да отваряте множество документи/файлове в един прозорец с раздели, като например с помощта на браузъра IE 8/9/10, Firefox и Google Chrome. Щракнете за изтегляне и безплатен пробен период сега!

doc макроси за експортиране

2. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

3. Щракнете Поставете > Модул, и поставете следния макрос в Модули Window.

VBA код: Експортирайте всички макроси от една работна книга в друга:

Sub ExportAndImportModule()
Dim xStrSWSName, xSreDWSName As String
Dim xSWS, xDWS As Workbook
xStrSWSName = "old-workbook"
xSreDWSName = "new-workbook"
Dim xFilePath As String
Dim xObjFD As FileDialog
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
 With xObjFD
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
            xFilePath = .SelectedItems.Item(1)
        Else
            Exit Sub
        End If
End With
On Error GoTo Err1
Set xSWS = Workbooks(xStrSWSName & ".xlsm")
Set xDWS = Workbooks(xSreDWSName & ".xlsm")
Set xvbap = xSWS.VBProject
Set xVBC = xvbap.VBComponents
For Each Module In xSWS.VBProject.VBComponents
If Module.Type = vbext_ct_StdModule Then
Module.Export (xFilePath & "\" & Module.Name & ".bas")
xDWS.VBProject.VBComponents.Import (xFilePath & "\" & Module.Name & ".bas")
End If
Next Module
Exit Sub
Err1:
    MsgBox "come to nothing!"
End Sub
Забележка: В горния код „стара работна книжка” е името на работната книга, от която искате да експортирате макросите, и „нова работна книга” е работната книга, в която искате да импортирате макросите. Трябва да промените имената на вашите собствени. И двете работни книги трябва да бъдат xlsm файлов формат.

doc макроси за експортиране 2

4. След като поставите горния код, натиснете F5 ключ за изпълнение на този код и a паса се показва прозорец, моля, изберете папка, в която да поставите експортираните макро файлове, вижте екранната снимка:

doc макроси за експортиране 3

5, След това кликнете OK и всички макроси са експортирани от посочената от вас работна книга в друг файл на Excel и макро файловете също са записани в конкретната папка. Вижте екранна снимка:

doc макроси за експортиране 4

Забележка: Този код може да експортира само макроси от нормален модул.

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I agree with Rediflow. Please provide a clue to where the code can be found to export all macros from the personal.xlsb file to a text file.
This comment was minimized by the moderator on the site
can this be altered to just export all Moduls from the personal.XLSB? Just for regular "Backup of my Macros" - Reasons
This comment was minimized by the moderator on the site
Hello, This did not work for me:( All my macros have names, is that the problem?Thanks for any help
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations