Консультация № 144490
20.09.2008, 19:33
0.00 руб.
0 5 1
Уважаемые Эксперты! Вопрос может быть для Вас очень наивен, но для меня новичка он очень важен - сколько текстовых документов можно создать с одной формы(у меня почему-то только 27 и выдаёт ошибку.
И ещё - как с формы вставить в Ecsel данные из TextBox и ComboBox.
Помогите!
Заранее благодарен!

Обсуждение

Неизвестный
20.09.2008, 23:52
общий
Здравствуйте Emelyaleksej.
для получения оветов следует кое что уточнить в Вашем вопросе:
о каком приложении идет речь?
"..создать с одной формы..." ? (если с помощью то ограничений "только 27" не существует следует искать ошибку)
"..Ecsel.." - лист Excel?
Неизвестный
21.09.2008, 13:26
общий
Здравствуйте,Тесленко Евгений Алексеевич!
Вот мои проблемы.
1.Создаю форму со многими TextBox и ComboBox и кнопку btnSave. Пишу код - на 28 тексте выдаёт, что-то вроде нехватки памяти.
Вот код:
Private Sub btnSave_Click()
Open "C:\Рубки ухода\Данные\РУ и СР\Квартал.txt" For Output As #1
Print #1, txtКвартал.Text
Close #1
Open "C:\Рубки ухода\Данные\РУ и СР\Договор.txt" For Output As #2
Print #2, txtДоговор.Text
Close #2
Open "C:\Рубки ухода\Данные\РУ и СР\СрОбХл.txt" For Output As #3
Print #3, txtСрОбХл.Text
Close #3
Open "C:\Рубки ухода\Данные\РУ и СР\Литер.txt" For Output As #4
Print #4, txtЛитер.Text
Close #4
Open "C:\Рубки ухода\Данные\РУ и СР\ДатаДог.txt" For Output As #5
Print #5, txtДатаДог.Text
Close #5
Open "C:\Рубки ухода\Данные\РУ и СР\ВидДороги.txt" For Output As #6
Print #6, ComboВидДороги.Text
Close #6
Open "C:\Рубки ухода\Данные\РУ и СР\Расстояние.txt" For Output As #7
Print #7, txtРасстояние.Text
Close #7
Open "C:\Рубки ухода\Данные\РУ и СР\ВидМех.txt" For Output As #8
Print #8, ComboВидМех.Text
Close #8
Open "C:\Рубки ухода\Данные\РУ и СР\ПлПоЛБ.txt" For Output As #9
Print #9, txtПлПоЛБ.Text
Close #9
Open "C:\Рубки ухода\Данные\РУ и СР\ПлСруб.txt" For Output As #10
Print #10, txtПлСруб.Text
Close #10
Open "C:\Рубки ухода\Данные\РУ и СР\ВидРубки.txt" For Output As #11
Print #11, ComboВидРубки.Text
Close #11
Open "C:\Рубки ухода\Данные\РУ и СР\Выжиг.txt" For Output As #12
Print #12, ComboВыжиг.Text
Close #12
Open "C:\Рубки ухода\Данные\РУ и СР\МаркаТр.txt" For Output As #13
Print #13, ComboМаркаТр.Text
Close #13
Open "C:\Рубки ухода\Данные\РУ и СР\НавесУст.txt" For Output As #14
Print #14, ComboНавесУст.Text
Close #14
Open "C:\Рубки ухода\Данные\РУ и СР\РастТрел.txt" For Output As #15
Print #15, txtРастТрел.Text
Close #15
Open "C:\Рубки ухода\Данные\РУ и СР\УслТруда.txt" For Output As #16
Print #16, ComboУслТруда.Text
Close #16
Open "C:\Рубки ухода\Данные\РУ и СР\ВрГода.txt" For Output As #17
Print #17, ComboВрГода.Text
Close #17
Open "C:\Рубки ухода\Данные\РУ и СР\ВыдалНар.txt" For Output As #18
Print #18, ComboВыдалНар.Text
Close #18
Open "C:\Рубки ухода\Данные\РУ и СР\ФИО.txt" For Output As #19
Print #19, ComboФИО.Text
Close #19
Open "C:\Рубки ухода\Данные\РУ и СР\НарСдал.txt" For Output As #20
Print #20, ComboНарСдал.Text
Close #20
Open "C:\Рубки ухода\Данные\РУ и СР\ФИО2.txt" For Output As #21
Print #21, ComboФИО2.Text
Close #21
Open "C:\Рубки ухода\Данные\РУ и СР\Руководитель.txt" For Output As #22
Print #22, ComboРуководитель.Text
Close #22
Open "C:\Рубки ухода\Данные\РУ и СР\Организация.txt" For Output As #23
Print #23, ComboОрганизация.Text
Close #23
Open "C:\Рубки ухода\Данные\РУ и СР\Подразд.txt" For Output As #24
Print #24, ComboПодразд.Text
Close #24
Open "C:\Рубки ухода\Данные\РУ и СР\Расчитал.txt" For Output As #25
Print #25, ComboРасчитал.Text
Close #25
Open "C:\Рубки ухода\Данные\РУ и СР\ФИО3.txt" For Output As #26
Print #26, ComboФИО3.Text
Close #26
Open "C:\Рубки ухода\Данные\РУ и СР\Качество.txt" For Output As #27
Print #27, ComboКачество.Text
Close #27
End Sub

2.Если можно в лист Ecsel, желательно конечно в конкретную книгу, например, Рубки ухода.xls
Неизвестный
21.09.2008, 22:12
общий
С первым я, кажется разобрался. Помогите со вторым.
Неизвестный
23.09.2008, 05:58
общий
это ответ
Здравствуйте, Emelyaleksej!

Вот пример выполнения обоими способами (сохранение в текстовые файлы и в Excel)
Создана форма с массивом Text1, состоящим из 32 элементов (для упрощения примера).
При записи в Excel значение (свойство Text) каждого элемента записывается в отдельную ячейку.
для comboBox'а тоже самое (свойство ItemData)

Написал в VB6, для VBA алгоритм тотже и не надо подлючаться к Excel.

Приложение:
Dim ExApp As Object, AcSh As Object
Dim WB As Workbook

Private Sub mnuFileExit_Click()
'unload the form
Unload Me

End Sub

Private Sub mnuFileSave_Click()
On Error Resume Next
For i = 0 To 31
Open "d:\1\text1_" & i & ".txt" For Output As #1
Print #1, Text1(i).Text
Close #1
Next
Set ExApp = GetObject(, "Excel.Application") 'подключаемся к запущенному Excel
ExCon = True
If ExApp Is Nothing Then 'проверяем подключение
Set ExApp = CreateObject("Excel.Application")
ExCon = False
If ExApp Is Nothing Then
MsgBox "Не могу запустить Excel"
Unload Me
End
End If
End If
ExApp.Workbooks.Open "d:\1\1.xlsx"
Set WB = ExApp.ActiveWorkbook
Set AcSh = WB.Sheets(1)
For i = 0 To 31
AcSh.Cells(i + 1, 1).Value = Text1(i).Text
Next i
ExApp.ActiveWorkbook.Save
ExApp.ActiveWorkbook.Close False
ExApp.Quit
Set AcSh= Nothing
Set ExApp = Nothing
End Sub
Неизвестный
23.09.2008, 21:32
общий
Спасибо! Отлично! Легко и просто!
Форма ответа