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

Вход

Регистрация

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

 

= Мир MS Excel/Работа с данными TextBox, ComboBox - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Работа с данными TextBox, ComboBox (Макросы/Sub)
Работа с данными TextBox, ComboBox
televnoy Дата: Вторник, 06.03.2018, 12:09 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 119
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток, уважаемые форумчане.
Недавно я задавал вопрос на данном форуме о массовой печати книг, первых листов,
спасибо огромное кто помогал в решении вопроса.
Делался он по началу на эн-ное кол-во раз, но он оказался очень удобным. Было решено его облагородить.
Заносить в форму адреса, нименование листов при уловии если их печатать, если нет то первый лист книги, копии и т.п.
Создал форму со всеми данными - но не могу получить данные с форм - подсвечиваются ошибки.
Как работать с водимыми данными?
В частности подсвечиваетя эта строка
[vba]
Код

MyPath = TextBox1.Text & "\"  ' Папка, из которой печатаем
[/vba]
Далее возможно тоже криво но далее не высветиться ошибки - пока не решу с первым.... %)
К сообщению приложен файл: --.xls(64.0 Kb)


О-па! 0_o

Сообщение отредактировал televnoy - Вторник, 06.03.2018, 12:11
 
Ответить
СообщениеДоброго времени суток, уважаемые форумчане.
Недавно я задавал вопрос на данном форуме о массовой печати книг, первых листов,
спасибо огромное кто помогал в решении вопроса.
Делался он по началу на эн-ное кол-во раз, но он оказался очень удобным. Было решено его облагородить.
Заносить в форму адреса, нименование листов при уловии если их печатать, если нет то первый лист книги, копии и т.п.
Создал форму со всеми данными - но не могу получить данные с форм - подсвечиваются ошибки.
Как работать с водимыми данными?
В частности подсвечиваетя эта строка
[vba]
Код

MyPath = TextBox1.Text & "\"  ' Папка, из которой печатаем
[/vba]
Далее возможно тоже криво но далее не высветиться ошибки - пока не решу с первым.... %)

Автор - televnoy
Дата добавления - 06.03.2018 в 12:09
Апострофф Дата: Вторник, 06.03.2018, 12:24 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 178
Репутация: 65 ±
Замечаний: 0% ±

Excel 2003
televnoy, так?
[vba]
Код
MyPath = UserForm1.TextBox1.Text & "\"  ' Папка, из которой печатаем
[/vba]
 
Ответить
Сообщениеtelevnoy, так?
[vba]
Код
MyPath = UserForm1.TextBox1.Text & "\"  ' Папка, из которой печатаем
[/vba]

Автор - Апострофф
Дата добавления - 06.03.2018 в 12:24
Roman777 Дата: Вторник, 06.03.2018, 12:24 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 912
Репутация: 116 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
televnoy, Потому что модуль1, модуль2 и тд, не знают об объектах формы. Можно попробовать [vba]
Код
Userform1.Textbox1.text&"\"
[/vba]
Но мне кажется, что лучше сами функции сделать с аргументами, типа такого:
[vba]
Код
Sub Печать_1_го_лист_из_папки(s As String, s2 As String, s3 as String)
    Dim MyPath$, MyFileName$, bk As Workbook
    Application.ScreenUpdating = False
    MyPath = s & "\"  ' Папка, из которой печатаем
    MyFileName = Dir(MyPath & s2)
    Do While MyFileName <> ""
        If Left$(MyFileName, 2) <> "~$" Then ' Исключаем временные файлы Excel
            Set bk = Workbooks.Open(Filename:=MyPath & MyFileName, UpdateLinks:=False, ReadOnly:=True)
            bk.Worksheets(1).PrintOut Copies:=s3
            bk.Close SaveChanges:=False
        End If
        MyFileName = Dir
    Loop
    Application.ScreenUpdating = True
    MsgBox "Готово!", vbInformation
End Sub
[/vba]
А в юзерформе передавать значения этих аргументов в функцию...


Много чего не знаю!!!!
 
Ответить
Сообщениеtelevnoy, Потому что модуль1, модуль2 и тд, не знают об объектах формы. Можно попробовать [vba]
Код
Userform1.Textbox1.text&"\"
[/vba]
Но мне кажется, что лучше сами функции сделать с аргументами, типа такого:
[vba]
Код
Sub Печать_1_го_лист_из_папки(s As String, s2 As String, s3 as String)
    Dim MyPath$, MyFileName$, bk As Workbook
    Application.ScreenUpdating = False
    MyPath = s & "\"  ' Папка, из которой печатаем
    MyFileName = Dir(MyPath & s2)
    Do While MyFileName <> ""
        If Left$(MyFileName, 2) <> "~$" Then ' Исключаем временные файлы Excel
            Set bk = Workbooks.Open(Filename:=MyPath & MyFileName, UpdateLinks:=False, ReadOnly:=True)
            bk.Worksheets(1).PrintOut Copies:=s3
            bk.Close SaveChanges:=False
        End If
        MyFileName = Dir
    Loop
    Application.ScreenUpdating = True
    MsgBox "Готово!", vbInformation
End Sub
[/vba]
А в юзерформе передавать значения этих аргументов в функцию...

Автор - Roman777
Дата добавления - 06.03.2018 в 12:24
televnoy Дата: Вторник, 06.03.2018, 12:36 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 119
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Апострофф, Roman777, Спасибеще - Userform1.Textbox1. и т.п. оказалось достаточно.
Roman777, согласен скорее всего лучше так, но я с таким маленьким вопросом застрял =)

Спасибо еще раз + с меня :)


О-па! 0_o
 
Ответить
СообщениеАпострофф, Roman777, Спасибеще - Userform1.Textbox1. и т.п. оказалось достаточно.
Roman777, согласен скорее всего лучше так, но я с таким маленьким вопросом застрял =)

Спасибо еще раз + с меня :)

Автор - televnoy
Дата добавления - 06.03.2018 в 12:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Работа с данными TextBox, ComboBox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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