Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 След.
Создание гиперссылки на папку, используя гиперссылку на файл, формировалить гиперссылки на папки, содержащие "соответствующие" файлы
 
Казанский, большое Вам спасибо!
Извините за затяжку с ответом.
Данный код сработал отлично!!
Создание гиперссылки на папку, используя гиперссылку на файл, формировалить гиперссылки на папки, содержащие "соответствующие" файлы
 
Цитата
Юрий М написал: Евгений, код следует оформлять тегом. Исправьте.
Юрий, да, действительно, спасибо за поправку.
Исправлюсь в будущем.Как я понимаю отправленные сообщения отредактировать мне уже не удастся...
Создание гиперссылки на папку, используя гиперссылку на файл, формировалить гиперссылки на папки, содержащие "соответствующие" файлы
 
JayBhagavan, спасибо за подсказку!
Я вот думаю может мне пойти таким путем ??
При помощи функции Get_Hyperlink_Address получить адрес из ячейки в столбце "В" и каким-то образом (какими-либо формулами) обрезать правую часть гиперссылки, тем самым получу путь к папке, содержащей интересующий меня файл.
Уважаемые форумчане, есть ли у Вас какие-либо идеи по данной теме ?

Например так:
D:\Documents and Settings\______\Рабочий стол\Новая папка (15)\Архив_1\Работа_1.xlsx
:oops:
Создание гиперссылки на папку, используя гиперссылку на файл, формировалить гиперссылки на папки, содержащие "соответствующие" файлы
 
Цитата
JayBhagavan написал: worksheets("имя_листа").Hyperlink
Макрос запускается, ошибок не выдает, но и результата тоже ... в общем ничего не происходит.
Я и так сделал в отдельном модуле:
Код
Sub jjj()
Dim hl As Hyperlink
    For Each hl In Worksheets("Лист1").Hyperlinks
        With hl
            Debug.Print .Address
        End With
    Next hl
End Sub
... и так:
Код
Sub jjj()
Dim hl As Hyperlink
    For Each hl In Activesheet.Hyperlinks
        With hl
            Debug.Print .Address
        End With
    Next hl
End Sub

... и так, вставляя в модуль листа:
Код
Sub jjj()
Dim hl As Hyperlink
    For Each hl In Hyperlinks
        With hl
            Debug.Print .Address
        End With
    Next hl
End Sub

...  :oops:
Изменено: Евгений - 19.09.2015 16:59:51
Создание гиперссылки на папку, используя гиперссылку на файл, формировалить гиперссылки на папки, содержащие "соответствующие" файлы
 
JayBhagavan, спасибо за пример!
Почему-то мне не удается его увидеть в работе, вылетает "Object required" ... :( ... и выделяется следующая строка:
For Each hl In Hyperlinks
Создание гиперссылки на папку, используя гиперссылку на файл, формировалить гиперссылки на папки, содержащие "соответствующие" файлы
 
Уважаемые форумчане, добрый день!
Прошу оказать помощь в решении следующей (непосильной мне ) задачи:
Есть общий файл (Excel) где содержатся гиперссылки на файлы, которые размещены в разных папках.
Мне необходимо, чтобы в соседнем столбце "D" посредством VBA формировались гиперссылки на папки, содержащие "соответствующие" файлы. При этом гиперссылки на "соответствующие" файлы отражены в столбце "B".

Поиск к сожалению не помог. Нашел здесь только как узнать путь к папке, содержащей файл, из которого запускается макрос. А мне нужны гиперссылки на папки, разбросанные по всему хранилищу.
Очень надеюсь на Вашу помощь!
Макросом из Excel сохранить документ Word, вызвать диалоговое окно для сохранения файла в документе Word.
 
Игорь, я рассматривал каждое из этих предложений, возможно не достаточно внимательно и с пониманием, но все же ...

1) FunctionGetFileName - функция вызова диалогового окна - вызывает диалоговое окно, как я понял, именно для открытия файлов, а мне необходимо окно для сохранения файлов.

2) .Application.Dialogs(84).Show - вызов одного из встроенных в Word / Excel диалоговых окон
Данной строкой диалог вызывается, однако путь сохранения по умолчанию в "Мои документы", а мне необходимо в папку с исходным файлом Excel, так как исходный файл "кочует" из папки в папку.
Кроме того не совсем ясно как прописать "заготовку" имени для созданного файла Word. Как я понял в диалоге отражаются первые слова из ]текстового документа.

Пока продолжаю ковыряться ...
Появилась мысль макросом из Excel создать во вновь созданном документе Word макрос, который сразе же и запустить в Ворде. Наверное это не реально, но ...
Макросом из Excel сохранить документ Word, вызвать диалоговое окно для сохранения файла в документе Word.
 
Добрый день, уважаемые форумчане!
Выражаю благодарность Александру Моторину за его труд!
К сожалению сразу мне не удалось отписаться, был в отъезде.

Короче говоря проследовал я по пути Александра М. на домашнем ПК (Windows Vista, Ofice 2010), но путь мой был не долог. При запуске макроса выдает ошибку activex component can't create object и выделяет следующую строку в коде:
...
Dim DLG As CommonDialog
Set DLG = New CommonDialog ' здесь ошибка
Dim sPath As String
...

В референсах CommonDialog подключен (я его и включал и отключал и снова включал без успеха).

При этом при запуске на рабочем компьютере (наша организация работает в облаке, возможно там более новая версия офиса) он сработал без ошибок (правда там были другие нюансы, но основная задача выполнялась).

Подскажите пожалуйста что мне сделать, чтобы с файлом можно было работать и на домашнем ПК и на рабочем ?
Макросом из Excel сохранить документ Word, вызвать диалоговое окно для сохранения файла в документе Word.
 
Цитата
Александр Моторин написал: Получить имя файла можно функцией...
А в этом ответе я не совсем понял. В каком именно месте мне необходимо использовать функцию ?
Макросом из Excel сохранить документ Word, вызвать диалоговое окно для сохранения файла в документе Word.
 
Цитата
Александр Моторин написал: как вариант вызвать диалог сохранения вордовский  
Александр, спасибо за подсказку!
Данной строкой диалог вызывается, однако путь сохранения по умолчанию в "Мои документы", а мне необходимо в папку с исходным файлом Excel, так как исходный файл "кочует" из папки в папку.
Кроме того не совсем ясно как прописать "заготовку" имени для созданного файла Word. Как я понял в диалоге отражаются первые слова из текстового документа.
Может я что-то упустил из Ваших ответов ниже ... ?
Макросом из Excel сохранить документ Word, вызвать диалоговое окно для сохранения файла в документе Word.
 
Уважаемые форумчане, вынужден обратиться с вопросом следующего характера:
С Вашей же помощью мне удалось из кусочков составить код, который при запуске осуществляет копирование данных с листа Excelи вставляет эти данные на вновь созданный лист Word.

Но мне не удается реализовать заключительный этап своего замысла – мне необходимо вновь созданный файл Word предложить пользователю сохранить в исходной папке (папка где размещается файл Excel) с заготовкой имени файла. При этом команда на сохранение должна отдаваться именно пользователем, а не сохранятся автоматически.

Очень хочу реализовать свой замысел именно следующим образом:
1.       Запуск макроса из книги Excel.
2.       Копирование данных.
3.       Создание листа Word.
4.       Вставка данных на лист Word.
5.       Вызов диалогового окна для сохранения файла с возможностью редактировать имя файла перед его сохранением. Путь сохранения (по умолчанию) должен быть предложен в папку, в которой сохранен Исходный файл Excel. – здесь мне требуется Ваша помощь!!!
6.       После сохранения Пользователем файла завершение работы макроса.

Мне удалось найти решение этой задачи, но только в коде VBA для Word. Перечитал очень много тем, но так и не смог перевести данный код на понятный язык для Excel
Код
Sub MyFileSave() ' если запускать данный код из Word, то он полностью решает мою проблему
Dim sPath As String
 
sPath = ActiveDocument.Path & "\"
'sPath = ActiveWorkbook.Path & "\" ' для Excel, сэтимвродеудалосьразобраться
 
With Dialogs(wdDialogFileSaveAs) ' а вот здесь при запуске макроса вылетает ошибка.
.Name = sPath & "Переченьработ_" & Left(ActiveDocument.Paragraphs(2).Range.Text, Len(ActiveDocument.Paragraphs(2).Range.Text) - 1)
.Show
End With
End Sub

Очень прошу Вас помочь мне!
Спасибо!

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

Пример прилагаю.
Путь к папке через диалоговое окно (работа с папкой и ее подпапками).
 
Kuzmich, большое спасибо !!  
Изучаю ...
Путь к папке через диалоговое окно (работа с папкой и ее подпапками).
 
Прошу помочь хотя бы наводящими вопросами !?  
В каком направлении работать ??
Путь к папке через диалоговое окно (работа с папкой и ее подпапками).
 
Ребятки, продолжаю просить помощи ...  
Спасибо за переадресацию в поиск, мне удалось многое прочитать, однако решить свою задачу не по силам ... Ниже привожу мое произведение, понимаю, стыдно, но ...  
На сколько я понял перебор папок происходит, однако макрос не выполняет своего стратегического предназначения ...  
При чем перебор осуществляется почему-то в папке на уровень выше, нежели чем в папках которые содержаться внутри папки ... а может даже и несколько иначе ...  
Сложно понять ...  
Надеюсь на вашу помощь!  
 
То, над чем ломаю голову не первый день:  
 
Public k As Byte  
Public mmm As Byte  
Public zzz As Byte  
Function FilenamesCollection(ByVal FolderPath As String, Optional ByVal Mask As String = "", _  
Optional ByVal SearchDeep As Long = 999) As Collection  
' Получает в качестве параметра путь к папке FolderPath,  
' маску имени искомых файлов Mask (будут отобраны только файлы с такой маской/расширением)  
' и глубину поиска SearchDeep в подпапках (если SearchDeep=1, то подпапки не просматриваются).  
' Возвращает коллекцию, содержащую полные пути найденных файлов  
' (применяется рекурсивный вызов процедуры GetAllFileNamesUsingFSO)  
 
Set FilenamesCollection = New Collection ' создаём пустую коллекцию  
Set FSO = CreateObject("Scripting.FileSystemObject") ' создаём экземпляр FileSystemObject  
GetAllFileNamesUsingFSO FolderPath, Mask, FSO, FilenamesCollection, SearchDeep ' поиск  
Set FSO = Nothing: Application.StatusBar = False ' очистка строки состояния Excel  
End Function  
 
Function GetAllFileNamesUsingFSO(ByVal FolderPath As String, ByVal Mask As String, ByRef FSO, _  
ByRef FileNamesColl As Collection, ByVal SearchDeep As Long)  
' перебирает все файлы и подпапки в папке FolderPath, используя объект FSO  
' перебор папок осуществляется в том случае, если SearchDeep > 1  
' добавляет пути найденных файлов в коллекцию FileNamesColl  
On Error Resume Next: Set curfold = FSO.GetFolder(FolderPath)  
If Not curfold Is Nothing Then ' если удалось получить доступ к папке  
 
' раскомментируйте эту строку для вывода пути к просматриваемой  
' в текущий момент папке в строку состояния Excel  
' Application.StatusBar = "Поиск в папке: " & FolderPath  
 
For Each fil In curfold.Files ' перебираем все файлы в папке FolderPath  
 
If UCase(fil.Name) Like "*" & UCase(Mask) Then FileNamesColl.Add fil.Path  
 
'If fil.Name Like "*" & Mask Then FileNamesColl.Add fil.Path  
Next  
SearchDeep = SearchDeep - 1 ' уменьшаем глубину поиска в подпапках  
If SearchDeep Then ' если надо искать глубже  
For Each sfol In curfold.SubFolders ' перебираем все подпапки в папке FolderPath  
GetAllFileNamesUsingFSO sfol.Path, Mask, FSO, FileNamesColl, SearchDeep  
Next  
End If  
Set fil = Nothing: Set curfold = Nothing ' очищаем переменные  
End If  
End Function  
 
Function DeleteAllVBA() As Boolean  
'удаляет все компоненты VBA в текущей книге и возвращает True, если они были  
Dim i&, j&  
With ActiveWorkbook.VBProject  
For i = .VBComponents.Count To 1 Step -1  
If .VBComponents(i).Type = 100 Then 'vbext_ComponentType.vbext_ct_Document, т.е. модуль книги, листа  
With .VBComponents(i).CodeModule  
j = .CountOfLines - .CountOfDeclarationLines  
If j Then .DeleteLines 1, .CountOfLines: DeleteAllVBA = True  
End With  
Else 'остальные типы: модуль, модуль класса, форма  
.VBComponents.Remove .VBComponents(i): DeleteAllVBA = True  
End If  
Next  
End With  
End Function  
 
 
Sub Удаление_макросов_2()  
' Ищем на рабочем столе все файлы TXT, и выводим на лист список их имён.  
' Просматриваются папки с глубиной вложения не более трёх.  
Application.ScreenUpdating = False  
Dim coll As Collection, ПутьКПапке As String  
' получаем путь к папке РАБОЧИЙ СТОЛ  
'ПутьКПапке = "Y:\Otdel\1.ПОКУПКА\X-files\на списание\АСКУЭ\йОПТ\80020\На отправку\2010 год\08 август\с потеряшками" 'CreateObject("WScript.Shell").SpecialFolders("Desktop")  
With Application.FileDialog(msoFileDialogFolderPicker)  
.InitialFileName = Application.DefaultFilePath & "\"  
.Title = "Укажите папку с файлами"  
If .Show = False Then Exit Sub  
Folder = .SelectedItems.Item(1)  
End With  
ПутьКПапке = Folder  
 
' считываем в колекцию coll нужные имена файлов  
'Set coll = FilenamesCollection(ПутьКПапке, ".xml", 3) 'ВОТ В ЭТОМ МЕСТЕ И ПРОИСХОДИТ ЗАГВОЗДКА  
 
 
Dim w, q  
If MsgBox("Внимание!!!" & vbLf & _  
"Будут удалены ВСЕ компоненты VBA (макросы, формы, пользовательские функции) из ВСЕХ файлов Excel в папке " _  
& FLDR & vbLf & "Продолжить?", vbCritical + vbYesNoCancel + vbDefaultButton2) <> vbYes Then Exit Sub  
Application.EnableEvents = False 'для запрещения макросов Workbook_Open в открываемых книгах  
w = Dir(FLDR & "*.xls*") 'фактически *.xls*  
Do While w <> ""  
With Workbooks.Open(FLDR & w)  
 
ActiveWorkbook.CheckCompatibility = False ' отключает проверку совместимости при сохранении этой книги  
 
.Close DeleteAllVBA 'если компонентов VBA не было, закрыть без сохранения  
End With  
w = Dir  
Loop  
Application.EnableEvents = True  
End Sub
Путь к папке через диалоговое окно (работа с папкой и ее подпапками).
 
Большое спасибо, теперь заработало !!  
 
Осталась вторая проблема, он не обрабатывает файлы в подпапках ... попробую использовать подсказку Юрия М ... читаю
Путь к папке через диалоговое окно (работа с папкой и ее подпапками).
 
Спасибо за скорый ответ, я заменил строку  
 
Const FLDR = "C:\Users\Евгеша\Desktop\Макросы\" ' указать путь  
 
на код предложенный вами, однако VBA ругается и выделяет ".SelectedItems"  
 
Уважаемый Юрий М, пробовал и поиском, уже голова не соображает ... все смешалось в винегрет, однако решить данную задачу у меня не получается ... но я стараюсь ... читаю вашу ссылку на поиск
Путь к папке через диалоговое окно (работа с папкой и ее подпапками).
 
Ребятки, добрый вечер!  
Вынужден обратиться к вам за помощью.    
При помощи поиска я нашел необходимый мне код (он в модуле прилагаемого файла). Склеить сложные макросы не под силу.  
 
Мне необходимо, чтобы путь который указывается в следующем виде  
 
Const FLDR = "C:\Users\Евгеша\Desktop\Макросы\" ' указать путь  
 
был заменен на возможность выбора нужной папки через ДИАЛОГОВОЕ ОКНО.  
 
Ниже привожу часть кода, о котором веду речь (автор господин Казанский http://www.planetaexcel.ru/forum.php?thread_id=39904&page_forum=1&allnum_forum=16&useraction=login):  
 
Sub Удаление_макросов()  
Const FLDR = "C:\Users\Евгеша\Desktop\Макросы\" ' указать путь  
Dim w, q  
If MsgBox("Внимание!!!" & vbLf & _  
"Будут удалены ВСЕ компоненты VBA (макросы, формы, пользовательские функции) из ВСЕХ файлов Excel в папке " _  
& FLDR & vbLf & "Продолжить?", vbCritical + vbYesNoCancel + vbDefaultButton2) <> vbYes Then Exit Sub  
Application.EnableEvents = False 'для запрещения макросов Workbook_Open в открываемых книгах  
w = Dir(FLDR & "*.xls*") 'фактически *.xls*  
Do While w <> ""  
With Workbooks.Open(FLDR & w)  
 
'ActiveWorkbook.CheckCompatibility = False ' отключает проверку совместимости при сохранении этой книги  
 
.Close DeleteAllVBA 'если компонентов VBA не было, закрыть без сохранения  
End With  
w = Dir  
Loop  
Application.EnableEvents = True  
End Sub  
 
Самый лучший вариант, если этот макрос будет работать не только с файлами, размещенными в этой папке, а и с файлами, которые находятся в подпапках.  
 
Прошу вашей помощи ...
Поиск искомых значений столбца на другом листе (проблема форматы - числ. и общ.)
 
Спасибо ребятки за помощь!!!  
Первые впечатления по работе макроса - отлично!!  
 
Я связал макросы от KukLP (перевод в текстовый формат и проверка переименованных)  
+ добавил в эту связку рекомендацию от Hugo и в результате "лед тронулся".  
 
Спасибо всем кто принимал участие в решении моей задачи.
Поиск искомых значений столбца на другом листе (проблема форматы - числ. и общ.)
 
Простите за формат примера (xlsm) - разместил его на автомате ...  
Прикладываю на всякий случай.
Поиск искомых значений столбца на другом листе (проблема форматы - числ. и общ.)
 
Ребятки, огромное всем спасибо за помощь!!!  
Я постараюсь в ближайшее время опробовать ваши рекомендации в деле и напишу отзыв.  
Спасибо всем большое!!!!  
Ответ напишу в течение дня.
Поиск искомых значений столбца на другом листе (проблема форматы - числ. и общ.)
 
Может у кого-то есть предложения или идеи по моей проблеме - прошу высказаться ...  
 
Формулы к сожалению не помогают из-за того, что части форматы общие, а остальные текстовые. Если даже привести все к текстовому формату, то все равно необходимо "проваливаться" в каждую ячейку для того, чтобы формула выдала необходимый результат.
Поиск искомых значений столбца на другом листе (проблема форматы - числ. и общ.)
 
Уважаемые форумчане!  
Вынужден обратиться к вам за помощью ... буду краток ...  
 
При помощи форума я смог переделать один из макросов под свои нужды, однако он лишь частично выполняет задачи стоящие передо мной ...  
 
1. Необходимо, чтобы при добавлении в желтое поле артикулярного номера ,в ЗЕЛЕНОМ поле появлялась  соответствующая цена товара. ОСОБЕННОСТИ ! В прайсе на листе 2 указаны артикулы как в общем  формате так и в текстовом, так как в некоторых артикулах впереди есть значения "0". Это является проблемой для ВПР, не всегда выдает ожидаемый результат.  
 
2. Необходимо, чтобы при добавлении в желтое поле артикулярного номера ,в СИНЕМ поле появлялась  информация об изменении артикула, то есть если артикул изменен, то выдавалась надпись "Replaced", в ином случае ячейка указывала бы просто знак "-".  
 
Доп. инфо:  
Прайс размещен на листе "Прайс 2012".  
Сведения о переименованных артикулах на листе "Replaced item 2012".
Вертикальный поиск с учетом двух условий.
 
Владимир, спасибо!!  
Ваш вариант тоже массивный ... изначально этого не понял ...  
К сожалению, вариант от ikki в рабочем файле стал выдавать неточные данные, рассмотрел вариант Владимира, он без сбоев ... возможно просто я допустил на каком-то этапе ошибку ... но это в прошлом, спасибо всем за помощь !!!
Вертикальный поиск с учетом двух условий.
 
ikki, спасибо !!!  
... я добавил еще проверку на ошибки, может кому пригодиться:  
 
{=ЕСЛИОШИБКА(ИНДЕКС($C$6:$C$12;ПОИСКПОЗ(1;НЕ(ЕОШ(ПОИСК($H$12;$B$6:$B$12)))*($C$6:$C$12>=$E8)*($C$6:$C$12<=$G8);0));"нет уплаты")}
Вертикальный поиск с учетом двух условий.
 
Уважаемые ребята, вопрос на первый взгляд прост, однако у меня он вызвал "штопор".  
Есть формула, основой ее является ВПР.  
Задача ВПР заключается в том, чтобы найти ячейку содержащую искомое значение и выдать в результат значение ячейки справа от найденной (если быть точнее, то это дата).  
Однако, эта формула должна осуществлять поиск только по тем строкам, которые входят в соответствующий месяц.  
Я постарался в примере расписать подробно и кратко.  
Прошу вашей помощи ...
Сумма если в одной ячейке содержится несколько искомых значений.
 
Ребята, спасибо большое, все отлично !!
Сумма если в одной ячейке содержится несколько искомых значений.
 
Ребята, добрый день!  
Вынужден обратиться за помощью ...  
поиск конкретного ответа, по моему вопросу, не дал ...  
Мне необходимо посчитать сумму столбца В при условии, что значения в столбце А (соответствующих ячеек) содержат два искомых значения (в моем примере это корни слов "маш" и "коз")  
... к сожалению "суммпроизв" не дала нужного результата (может у меня не правильный синтаксис) ...  
прошу помощи в решении этой задачи ...
Сохранить определенные листы в один документ в формате PDF
 
извините, поторопился отправить без кода  ...  
 
Sub Макрос2()  
 
   Sheets(Array("Лист1", "Лист2", "Лист3")).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _  
       "D:\Documents and Settings\e.babchinskiy\Desktop\Сохранить в пдф.pdf", Quality _  
       :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _  
       OpenAfterPublish:=True  
End Sub
Сохранить определенные листы в один документ в формате PDF
 
Hugo, добрый день!  
К сожалению в таком синтаксисе выпадает в Debug ...
Сохранить определенные листы в один документ в формате PDF
 
Дело в том, что печатать на виртуальный принтер AdobePDF можно только с того компьютера, на котором установлен этот виртуальный принтер. Мне приходится работать на нескольких компьютерах (на работе, дома и др местах), а информация находится на флешке. На всех компах установить виртуальный принтере - это ни к чему.  
Сохраняю я в отдельные файлы потому как сохранить иным образом лист excel в формат PDF не представляю возможным. Если можно иначе, то подскажите как.  
Макрорекодер я использовал при сохранении в PDF, однако мне необходимо сохранить НЕСКОЛЬКО листов книги в один файл PDF. А excel позволяет лишь сохранить каждый лист поотдельности, либо всю книгу целиком.  
Повторюсь, а мне необходимо сохранить НЕСКОЛЬКО листов книги, но не все.
Страницы: 1 2 3 4 5 6 7 8 9 След.
Наверх