Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/имена внешних связанных файлов на лист - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » имена внешних связанных файлов на лист (Макросы/Sub)
имена внешних связанных файлов на лист
mss Дата: Суббота, 16.08.2014, 23:11 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Доброго времени суток, прошу помощи. Столкнулся с такой проблемой, не получается вывести в ячейки активного листа все имена связанных файлов с данной книгой ( где находиться макрос).
 
Ответить
СообщениеДоброго времени суток, прошу помощи. Столкнулся с такой проблемой, не получается вывести в ячейки активного листа все имена связанных файлов с данной книгой ( где находиться макрос).

Автор - mss
Дата добавления - 16.08.2014 в 23:11
ikki Дата: Суббота, 16.08.2014, 23:24 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
не получается вывести
и как Вы это делаете?
покажите, не стесняйтесь.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
не получается вывести
и как Вы это делаете?
покажите, не стесняйтесь.

Автор - ikki
Дата добавления - 16.08.2014 в 23:24
mss Дата: Суббота, 16.08.2014, 23:26 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
возможно, я, не правильно выразился но только в том и проблема, что не получается в формате

имя книги имя листа
 
Ответить
Сообщениевозможно, я, не правильно выразился но только в том и проблема, что не получается в формате

имя книги имя листа

Автор - mss
Дата добавления - 16.08.2014 в 23:26
ikki Дата: Суббота, 16.08.2014, 23:30 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
в том и проблема
нет, проблема в другом - Вы читать не умеете:
покажите


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
в том и проблема
нет, проблема в другом - Вы читать не умеете:
покажите

Автор - ikki
Дата добавления - 16.08.2014 в 23:30
mss Дата: Суббота, 16.08.2014, 23:31 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
читать, что имена книг, или скрытый смысл ваших слов :)
 
Ответить
Сообщениечитать, что имена книг, или скрытый смысл ваших слов :)

Автор - mss
Дата добавления - 16.08.2014 в 23:31
ikki Дата: Суббота, 16.08.2014, 23:34 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
давайте постепенно, ага.

покажите.
Ваш код.
которым Вы пытаетесь вывести в ячейки.
имена связанных файлов.
который Вы написали.
но он не работает.
или работает неправильно.
он ведь есть?
его можно показать?
или он у Вас публичности боится?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениедавайте постепенно, ага.

покажите.
Ваш код.
которым Вы пытаетесь вывести в ячейки.
имена связанных файлов.
который Вы написали.
но он не работает.
или работает неправильно.
он ведь есть?
его можно показать?
или он у Вас публичности боится?

Автор - ikki
Дата добавления - 16.08.2014 в 23:34
mss Дата: Суббота, 16.08.2014, 23:36 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
в том и проблема, что сам не могу написать код, а посмотреть как он выглядит даже не получается. Не смог найти в просторах инета даже что либо близко похожее.
 
Ответить
Сообщениев том и проблема, что сам не могу написать код, а посмотреть как он выглядит даже не получается. Не смог найти в просторах инета даже что либо близко похожее.

Автор - mss
Дата добавления - 16.08.2014 в 23:36
ikki Дата: Суббота, 16.08.2014, 23:49 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
а как может быть
не получается вывести
если Вы даже не пытались?

так?
[vba]
Код
Sub t()
     a = ThisWorkbook.LinkSources
     ActiveSheet.[a1].Resize(UBound(a)) = Application.Transpose(a)
End Sub
[/vba]


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениеа как может быть
не получается вывести
если Вы даже не пытались?

так?
[vba]
Код
Sub t()
     a = ThisWorkbook.LinkSources
     ActiveSheet.[a1].Resize(UBound(a)) = Application.Transpose(a)
End Sub
[/vba]

Автор - ikki
Дата добавления - 16.08.2014 в 23:49
mss Дата: Суббота, 16.08.2014, 23:49 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
могу рассчитывать на помощь? Через макрорекордер выдает только путь и имя файла, а дальше не хватает знания...
 
Ответить
Сообщениемогу рассчитывать на помощь? Через макрорекордер выдает только путь и имя файла, а дальше не хватает знания...

Автор - mss
Дата добавления - 16.08.2014 в 23:49
mss Дата: Суббота, 16.08.2014, 23:51 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
попробовал ваш вариант, как раз о том и пишу что нет в этой комбинации названия связанного листа
 
Ответить
Сообщениепопробовал ваш вариант, как раз о том и пишу что нет в этой комбинации названия связанного листа

Автор - mss
Дата добавления - 16.08.2014 в 23:51
ikki Дата: Суббота, 16.08.2014, 23:56 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
в первом сообщении об этом не было.
но есть в третьем, да.

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


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениев первом сообщении об этом не было.
но есть в третьем, да.

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

Автор - ikki
Дата добавления - 16.08.2014 в 23:56
mss Дата: Суббота, 16.08.2014, 23:59 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
вот и мне ни чего с моим познанием VBA не приходит :(
 
Ответить
Сообщениевот и мне ни чего с моим познанием VBA не приходит :(

Автор - mss
Дата добавления - 16.08.2014 в 23:59
ikki Дата: Воскресенье, 17.08.2014, 00:00 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
погуглил немножко... нашлась буржуйская надстройка. кажется, платная. может, устроит?
http://www.extendoffice.com/documen....tml#vba


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 17.08.2014, 00:01
 
Ответить
Сообщениепогуглил немножко... нашлась буржуйская надстройка. кажется, платная. может, устроит?
http://www.extendoffice.com/documen....tml#vba

Автор - ikki
Дата добавления - 17.08.2014 в 00:00
mss Дата: Воскресенье, 17.08.2014, 00:04 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
надстройка не подойдет, макрос надо вписать в файл который будет проверочным для документа. Максимально будет 40 имен, т.е. 12 файлов по одному листу из них, и вот именно имя листа важно
 
Ответить
Сообщениенадстройка не подойдет, макрос надо вписать в файл который будет проверочным для документа. Максимально будет 40 имен, т.е. 12 файлов по одному листу из них, и вот именно имя листа важно

Автор - mss
Дата добавления - 17.08.2014 в 00:04
ikki Дата: Воскресенье, 17.08.2014, 00:04 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
вот, кажется, оно: http://www.exceltip.com/links-i....el.html
выводит не все внешние ссылки, а только те, которые есть в формулах ячеек книги.
т.е. не обрабатывает ссылки в именах, объектах и т.д.
но, возможно, это и не надо.

кстати - заметьте, что внешняя ссылка не обязательно содержит имя листа. :)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 17.08.2014, 00:11
 
Ответить
Сообщениевот, кажется, оно: http://www.exceltip.com/links-i....el.html
выводит не все внешние ссылки, а только те, которые есть в формулах ячеек книги.
т.е. не обрабатывает ссылки в именах, объектах и т.д.
но, возможно, это и не надо.

кстати - заметьте, что внешняя ссылка не обязательно содержит имя листа. :)

Автор - ikki
Дата добавления - 17.08.2014 в 00:04
mss Дата: Воскресенье, 17.08.2014, 00:13 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
конечно спасибо за ссылки но что то все не то, по первой ссылке выдает ваш вариант, а по второй в ячейки все формулы на внешние ссылки, хотя второй макрос возможно можно дописать в преобразование значения и как то отделить сам путь от формулы наверное, получается...
 
Ответить
Сообщениеконечно спасибо за ссылки но что то все не то, по первой ссылке выдает ваш вариант, а по второй в ячейки все формулы на внешние ссылки, хотя второй макрос возможно можно дописать в преобразование значения и как то отделить сам путь от формулы наверное, получается...

Автор - mss
Дата добавления - 17.08.2014 в 00:13
ikki Дата: Воскресенье, 17.08.2014, 00:18 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
брать текст формулы, искать символы xls], xlsx] и т.п., после квадратной скобки всё, что до восклицательного знака или одинарной кавычки - имя листа.
хотя там может быть и просто имя (уровня книги)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 17.08.2014, 00:19
 
Ответить
Сообщениебрать текст формулы, искать символы xls], xlsx] и т.п., после квадратной скобки всё, что до восклицательного знака или одинарной кавычки - имя листа.
хотя там может быть и просто имя (уровня книги)

Автор - ikki
Дата добавления - 17.08.2014 в 00:18
mss Дата: Воскресенье, 17.08.2014, 00:21 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
попробовать вписать в блок формулу пстр и найти?
 
Ответить
Сообщениепопробовать вписать в блок формулу пстр и найти?

Автор - mss
Дата добавления - 17.08.2014 в 00:21
mss Дата: Воскресенье, 17.08.2014, 00:36 | Сообщение № 19
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за помощь, буду затачивать под свои потребности. :D ikki,
 
Ответить
СообщениеСпасибо за помощь, буду затачивать под свои потребности. :D ikki,

Автор - mss
Дата добавления - 17.08.2014 в 00:36
ikki Дата: Воскресенье, 17.08.2014, 00:45 | Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
ну, примерно так:
[vba]
Код
Sub ListExtLinks()
     Dim ws As Worksheet, urf As Range, r As Range, re As Object, d As Object, m As Object, i&, dk()
      
     Set re = CreateObject("vbscript.regexp")
     re.Pattern = "(?:\[(.+?xls[xmb]?)])([^!']+)": re.Global = True
     Set d = CreateObject("scripting.dictionary")
      
     For Each ws In ThisWorkbook.Worksheets
         Set urf = ws.UsedRange
         If Not urf Is Nothing Then
             For Each r In urf.Cells
                 If r.Formula Like "*xls?]*" Or r.Formula Like "*xls]*" Then
                     Set m = re.Execute(r.Formula)
                     For i = 1 To m.Count: d(m(i - 1).submatches(0) & "|" & m(i - 1).submatches(1)) = 0&: Next
                 End If
             Next
         End If
     Next
      
     If d.Count Then
         dk = d.keys
         For i = 1 To d.Count
             ActiveSheet.Cells(i, 1).Resize(, 2).NumberFormat = "@"
             ActiveSheet.Cells(i, 1) = Split(dk(i - 1), "|")(0)
             ActiveSheet.Cells(i, 2) = Split(dk(i - 1), "|")(1)
         Next
     End If
End Sub
[/vba]


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениену, примерно так:
[vba]
Код
Sub ListExtLinks()
     Dim ws As Worksheet, urf As Range, r As Range, re As Object, d As Object, m As Object, i&, dk()
      
     Set re = CreateObject("vbscript.regexp")
     re.Pattern = "(?:\[(.+?xls[xmb]?)])([^!']+)": re.Global = True
     Set d = CreateObject("scripting.dictionary")
      
     For Each ws In ThisWorkbook.Worksheets
         Set urf = ws.UsedRange
         If Not urf Is Nothing Then
             For Each r In urf.Cells
                 If r.Formula Like "*xls?]*" Or r.Formula Like "*xls]*" Then
                     Set m = re.Execute(r.Formula)
                     For i = 1 To m.Count: d(m(i - 1).submatches(0) & "|" & m(i - 1).submatches(1)) = 0&: Next
                 End If
             Next
         End If
     Next
      
     If d.Count Then
         dk = d.keys
         For i = 1 To d.Count
             ActiveSheet.Cells(i, 1).Resize(, 2).NumberFormat = "@"
             ActiveSheet.Cells(i, 1) = Split(dk(i - 1), "|")(0)
             ActiveSheet.Cells(i, 2) = Split(dk(i - 1), "|")(1)
         Next
     End If
End Sub
[/vba]

Автор - ikki
Дата добавления - 17.08.2014 в 00:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » имена внешних связанных файлов на лист (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!