Помогите разобраться: есть код, позволяющий открывать нужную книгу и копировать оттуда содержимое.
Код |
---|
Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
Optional ByVal InitialPath As String = "c:\") As String
' функция выводит диалоговое окно выбора папки с заголовком Title,
' начиная обзор диска с папки InitialPath
' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
Dim PS As String: PS = Application.PathSeparator
With Application.FileDialog(msoFileDialogFolderPicker)
If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
.ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
If .Show <> -1 Then Exit Function
GetFolderPath = .SelectedItems(1)
If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
End With
End Function
Sub start()
ПутьКПапке = GetFolderPath("Заголовок окна", ThisWorkbook.Path)
If ПутьКПапке = "" Then Exit Sub
MsgBox "Выбрана папка: " & ПутьКПапке, vbInformation
Sheets("Заявки").Visible = True
Sheets("Системный").Visible = True
Workbooks.Open ПутьКПапке & "хранение" & ".xls"
Application.ScreenUpdating = False
Workbooks("хранение.xls").Worksheets("$$$29106").Range("A1:FZ200").Copy
Workbooks("Журнал прихода-расхода.xlsm").Activate
Sheets("Заявки").Activate
ActiveWorkbook.Worksheets("Заявки").Range("A1").Select
ActiveSheet.Paste
|
Не могу разобраться вот с чем: для копирования нужно открыть книгу Хранение.xls. Но иногда в название файла добавляются дополнительные символы, вроде Хранение за 20.05.xls. Как сделать, чтобы и они открывались? Добавлял звездочку в код, но Excel воспринимает ее как часть названия.
Код |
---|
Workbooks.Open ПутьКПапке & "хранение*" & ".xls*" |