← Декабрь 2001 → | ||||||
1
|
2
|
|||||
---|---|---|---|---|---|---|
3
|
4
|
5
|
6
|
8
|
9
|
|
10
|
11
|
12
|
13
|
15
|
16
|
|
17
|
18
|
19
|
20
|
22
|
23
|
|
24
|
25
|
26
|
27
|
29
|
30
|
|
31
|
За последние 60 дней ни разу не выходила
Сайт рассылки:
http://vbnet.ru
Открыта:
31-07-2001
Статистика
0 за неделю
Visual Basic: новости сайтов, советы, примеры кодов. Выпуск 19.
Visual Basic: новости сайтов, советы, примеры кодов.
Выпуск 19.
VB Студия
Голосование: Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты. Subscribe.Ru увеличило максимальный размер рассылки до 100 кб. В связи с этим вопрос: Какого размера Вы хотели бы получать рассылку? В какой день (дни) недели Вы хотели бы получать рассылку "Visual Basic: новости сайтов, советы, примеры кодов."? С какой периодичностью Вы хотели бы получать рассылку "Visual Basic: новости сайтов, советы, примеры кодов."? Результаты голосования Доска почёта: Sergey Y. Tkachev Кононенко Роман Sergey Sapozhnikov Sobic Ссылки: |
Несколько слов от автора:
Не вижу Вашей активности в форуме.
Теперь в каждом выпуске рассылки Вы сможете узнать новости ещё одного сайта - VBMania. Читайте! Содержание выпуска
О системе Эксперт - Привет, Серый. - Угу, привет. Ты проходи, садись, я щас, с функцией тут разберусь... - Да я на момент. Вопросец имеется. - Вопросец, вопросец... Так, тут переменная не объявлена... Вопросец... С вопросами в систему, к экспертам... А тут точку не поставил! Вот она где, соб-бака!! - Ты че, какая система? Ты о чем? - О! Все, работает... Чего ты говоришь? - Ты про каких это экспертов тут заикаешься? - А-а. А ты что, первый раз слышишь, что ли? Ты на СообЧа бывал? - Где?!! - Да вот, гляди. Щас соединимся... Во! http://soobcha.ru, зришь? - М-да... Занятно. Так я с вопросом к тебе... - А я вот и говорю: туда иди, в систему "Эксперт", там ответят. - Это чайники, что ли, ответят? - Не сомневайся, ответят. Там у них такое наворочено... Короче, ты по почте вопрос свой задаешь - и все:)))))) Больше не изволь беспокоиться, там они сами будут искать ответ на твой вопрос. А через некоторое время вывалят тебе на ящик не один, а несколько ответов. Пользуйся и радуйся:) - А чего это они там такие добрые да услужливые? У них чего, своих проблем нет? Сколько я должен платить за такое трогательное беспокойство? - Ну, это немного. Меньше, чем ты думаешь:) Тебе достаточно только подтвердить правильный ответ. Давишь на соответствующую ссылку, дескать, вот этот ответ мне понравился, помог, и я доволен. Просто пустое письмо засылаешь к ним, и вся оплата. А если хочешь у них экспертом стать, то пожалуйста, регистрируйся и отвечай на вопросы. - Кем? Экспертом? - А что? Что-то ты ведь знаешь, не вчера за комп сел. - А на фига мне это надо? Разбираться с чужими проблемами... У меня своих - хоть отбавляй... - Ага. Вот ты только что спрашивал: а сколько? И если уж ты со своими проблемами обращаешься к людям, то ведь надеешься, что тебе помогут. А сам-то что, влом, что ли, помочь кому-то? Да ладно! Тебя, вобщем-то, никто и не тянет, не заставляет. А вот те, кому интересно, кому не жаль поделиться, те там и работают. Я, между прочим, давно уже с ними. - В смысле, экспертом, что ли, заделался? И сколько тебе платят? - А ты не прикалывай. Там никто никому не платит. А вот конкурсы, между прочим, проводят, и не хилые. Представляешь, за лучший ответ дают бесплатно три месяца платного хостинга, да еще домен регистрируют. За просто так. А вот тебе, если ты задашь самый лучший вопрос, тоже приз может выгореть. - Это как: лучший? На который никто ответить, что ли, не сможет? Так я щас таких вопро... - Причем тут это? Просто ты, если вопрос пишешь к ним, так сподобься хоть запятые в нужных местах поставить, там, грамотно, короче, обрисуй свой трабл. - Ну ладно, въехал. Ты мне вот лучше помоги с моим траблом. Мой Фотошоп не хочет по русски работать... - Ха, так этот трабл там уже сколько раз появлялся. У них на сайте и ответ есть... Вот, любуйся: Заходим в редактор реестра (regedit.exe). Находим ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\Nls\Codepage В нем изменяем значение параметра 1252 с cp_1252.nls на cp_1251.nls. Перезагружаемся... - Понял... погоди, запишу... - Да чего записывать? Шагай домой, входи на сайт и копируй... - Да я ссылку запишу... Слушай, а как там в эту систему вопрос задать? Вообще, как она работает? - Так тут же, на сайте, все есть. А вообще, можешь по почте пустое письмо загнать на mailto:reply.infoexpert@soobcha.ru, и получишь всю необходимую инфу. А вообще, ты лучше в следующий раз с вопросами не ко мне, а туда. Может, я и отвечу там. - А не проше тебе здесь ответить? - Э-э-э... Там я баллы зарабатываю... - А это еще зачем? - Ладно, мотай. Дома почитаешь, все о них узнаешь. У меня тут халтурка... Давай, пока. - Пока. А как ты экспертом там зарегился? - Иди, иди! Инфу читай... наверх Новости сайта VB Студия
наверх Новости сайта VB Line 02 декабря 2001 г. Зима пришла, у нас снегу уже море... Итак, обновления, начнем пожалуй с раздела VB хитрости, там работа Игоря Малиновского, она касается тех, кто хочет устанавливать новые шрифты в систему, в общем, их надо не просто копировать в специальную папку, но и регистрировать, хитрость публикуется с примером. Stas(Sheff) Vorobiov прислал новый пример, и он очень интересный, пример показывает как манипулировать окнами в системе: закрывать, менять заголовки, рисовать на них и т.д. Ну и на закуску пример от Дещенко Дмитрия по поводу Alpha Blending. Да, чуть не забыл, Alex Murygin прислал новый код для совета про кнопку закрытия окна. Он пишет, что его код работает более корректно 24 ноября 2001 г. Вы уже заметили небольшое изменение дизайна сайта? Так лучше? Предложения и замечания присылайте мне shatrykin@mail.ru. В разделе Примеры положил интересную работу Беляева Данилы, программа выводит список всех запущенных программ и может их "убивать". Там же, очень интересная DLL-ка с примером для работы с LPT портами. И еще, нашел в сети очень забавный пример: игра типа морского боя, принцип простой, плывет корабль, а Вы его ракетами... в общем играл я в нее и время кончилось, поэтому и обновлений маловато. 12 ноября 2001 г. Решил, что Вам будет интересно узнать, кто сюда ходит и какова аудитория сайта. Все данные оформил в читаемом виде и положил сюда. Смотрите, читайте и изучайте. Конечно, немного, но все же статистика. 11 ноября 2001 г. Ну вот, 7 ноября мне стукнуло 27 лет. Эх.. время. Ну да ладно, в Примеры положил интересную работу Андрея Перминова - добавление заголовка в обычное меню, думаю, что это будет интересно многим. Наконец-то появился новый совет, все наверное видели окна с недоступной кнопкой закрытия окна, а вот как это сделать, думаю, знают не все. Скажу сразу, что автор мне неизвестен, поэтому, если что, то пишите мне shatrykin@mail.ru. И, напоследок, хочу пожаловаться: что-то Вы мне маловато материала присылаете. Активнее надо быть! наверх Новости сайта VBMania
наверх Преобразование таблицы из базы данных в HTML файл Автор Vincent Zack Const T1 = vbTab Const T2 = T1 & T1 Const TR = T1 & "<TR>" Const TD = "<TD>" Const TDEND = "</TD>" Const TABLESTART = "<TABLE BORDER WIDTH=100%>" Const TABLEEND = "</TABLE>" Function HTMLTable(dbRecord As Recordset) As String Dim strReturn As String Dim Fld As Field On Error Goto Return_Zero strReturn = strReturn & TABLESTART & vbCrLf strReturn = strReturn & TR For Each Fld In dbRecord.Fields strReturn = strReturn & TD & Fld.Name & TDEND Next Fld strReturn = strReturn & vbCrLf dbRecord.MoveFirst While Not dbRecord.EOF strReturn = strReturn & TR For Each Fld In dbRecord.Fields strReturn = strReturn & TD & Fld.Value & TDEND Next Fld strReturn = strReturn & vbCrLf dbRecord.MoveNext Wend strReturn = strReturn & TABLEEND Return_Zero: HTMLTable = strReturn End Function наверх Используйте оператор With Если Вы хотите, чтобы Ваш код легко читался, то используйте в своих программах оператор With. Этот оператор, как говорят, был позаимствован из Паскаля, с некоторой модификацией. Посмотрите на следующий пример: MSAgent.Characters("Default").Commands.Caption = "MSAgent Commands" MSAgent.Characters("Default").Commands.Visible = True MSAgent.Characters("Default").Commands.Voice = "MSAgent Commands" MSAgent.Characters("Default").Commands.Add "Bye bye", "Bye bye", "... bye bye ...", True, True MSAgent.Characters("Default").Commands.Add "Down", "Down", "... down ...", True, True MSAgent.Characters("Default").Commands.Add "Happy", "Happy", "... happy ...", True, True MSAgent.Characters("Default").Commands.Add "Hello", "Hello", "Hello Merlin", True, True MSAgent.Characters("Default").Commands.Add "Left", "Left", "... left ...", True, True MSAgent.Characters("Default").Commands.Add "Move", "Move", "... move ...", True, True MSAgent.Characters("Default").Commands.Add "Right", "Right", "... right ...", True, True MSAgent.Characters("Default").Commands.Add "Sad", "Sad", "... sad ...", True, True MSAgent.Characters("Default").Commands.Add "Up", "Up", "... up ...", True, True Ну как? Все разобрались? Думаю, что этот код очень сложно читать. А вот если Вы примените оператор With, то тот же код можно записать в следующем виде: With MSAgent.Characters("Default").Commands .Caption = "MSAgent Commands" .Visible = True .Voice = "MSAgent Commands" .Add "Bye bye", "Bye bye", "... bye bye ...", True, True .Add "Down", "Down", "... down ...", True, True .Add "Happy", "Happy", "... happy ...", True, True .Add "Hello", "Hello", "Hello Merlin", True, True .Add "Left", "Left", "... left ...", True, True .Add "Move", "Move", "... move ...", True, True .Add "Right", "Right", "... right ...", True, True .Add "Sad", "Sad", "... sad ...", True, True .Add "Up", "Up", "... up ...", True, True End With Да, и не забудьте сделать отступы, это сделает Ваш код
лучше. Кроме улучшения читаемости кода, оператор With дает ещё одно
преимущество: код, при достаточной вложенности, быстрее выполняется. Это
происходит потому, что VB кэширует объект и ему не приходится каждый раз
просматривать все объекты. Однако, не всё так просто! Я заметил, что если
вложенность маленькая два, три объекта, то этот метод может дать и отрицательный
результат в производительности. Но, думаю, что преимущество лёгкости чтения
должно пересилить соблазн поддаться более производительному коду.
Методика обработки ошибок в программах В данном контексте ошибками я буду называть истинные ошибки, т.е. то, что может случиться, а не "жучки" (bags) - вот их то не должно быть. Итак, ошибка это примерно следующее - Вы своей своей процедуре ожидаете параметр X от 1 до 100, а пользователь передает туда число 500, с которым Вы ничего не можете сделать (может Вы ожидаете проценты?). Так вот, что же делать? Существует несколько путей, по которым можно пойти: - Первый путь я бы назвал "Да пошли Вы всё к чёрту", немного грубовато, но зато точнее не скажешь. Идя по этому пути мы ничего не делаем, в Visual Basic есть своя система обработки ошибок и мы полностью ей доверяем. Но не думайте, что это кому-то может понравиться. Дело в том, что пользователь, который сделал что-то не так, увидит весьма ясное сообщение о том, что же он сделал, но и программа завершится, а с ней и, может быть, чей-то целый день работы пойдет "коту под хвост". Ну как? Вы еще не передумали следовать этой стратегии? Тогда и флаг Вам в руки, пользуйтесь сами своими программами! - Второй путь это запрет ошибок. А что? Вы думаете не пойдёт? Ещё как пойдёт. Если Вам глубоко наплевать что Вам передают, и Вы абсолютно уверены, что ничего плохого не произойдёт с программой, то можно придерживаться этой стратегии. Только не переусердствуйте. Пользователи они ведь бывают умными и смеются над нами, программистами, когда видят на прогресс-баре 102%. - Третий путь это стратегия Windows API. Не секрет, что многие (пожалуй половина) функций API возвращают код ошибки. Путь неплохой, но и в нём есть некоторые ограничения - возвращаемое значение всегда зарезервировано под код ошибки. Можно, конечно, возвращать, например, при нормальном завершении нужный результат, а при ошибке код возникшей ошибки как отрицательное число. Если Вас это устроит, то, пожалуйста, используйте этот путь. - Четвертый путь также активно применяется в API это передача кода ошибки через специальное свойство (функцию). Для этого, например, в классе объявите свойство, например GetLastMyError, и передавайте туда код ошибки. Если кому-то нужно узнать какая же ошибка произошла в действительности, то пускай получают описание через это свойство. Ну а для того, чтобы сообщить что ошибка произошла, возвращайте всеми своими функциями признак ошибки, например 0. - Есть ещё одна очень хорошая стратегия это генерация собственных ошибок. Например Вам передали 500%, вместо числа от 1 до 100? Смело генерируйте ошибку следующим кодом: Err.Raise vbObjectError + 1001, "Progress bar generator", "Разве проценты могут быть больше 100?" А что это за константа такая vbObjectError? Советую её Вам использовать, и не спрашивайте меня почему, я толком и вам не знаю! Ну вот, я рассказал Вам о методах обработки ошибок в своих программах. Все эти пути имеют право на жизнь, но советую Вам выбрать один и только один из путей с шагайте по нему всегда.наверх Перекодировка текста из DOS в Windows формат Демин Антон [http://www.demin52.com] прислал новый совет. Он пишет, что если Вам нужно конвертировать текст формата DOS в Windows (1251), то в API есть на этот случай хорошая функция: OemToChar. Объявляется она так: Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long Используют её следующим образом: Dim l_lReturn as Long Dim l_sSource as String Dim l_sDestination as String l_lReturn = oemtochar(l_sSource, l_sDestination) Кроме этой полезной функции в API имеется и обратная её функция: CharToOem. Она служит для выполнения той же работы, только наоборот, т.е.Windows (1251) в DOS. Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long наверх Как узнать положение каретки в RTF или TextBox Этот совет снова от Демина Антона [http://www.demin52.com]. Он посвящен методу определения текущего положения каретки в текстовом окне или RTF. Итак, ниже представлен код, который при каждом нажатии кнопки показывает текущее положение курсора: Для начала объявите функцию GetCaretPos и тип POINTAPI для неё. Private Type POINTAPI X As Long Y As Long End Type Private Declare Function GetCaretPos Lib"user32" (lpPoint As POINTAPI) As Long Поместите на форму TextBox1 и в событие KeyPress впишите: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim XPos As Long Dim YPos As Long XPos = GetTCursX YPos = GetTCursY Me.Caption = "X: " & XPos & " Y: " & YPos End Sub А это, собственно, код, отвечающий за выдачу нужных нам данных: Public Function GetTCursX() As Long Dim pt As POINTAPI GetCaretPos pt GetTCursX = pt.X End Function Public Function GetTCursY() As Long Dim pt As POINTAPI GetCaretPos pt GetTCursY = pt.Y End Function наверх Книги
Остальные книги о VB из магазина Колибри можно найти здесь. наверх Анонсы эхо-конференций СообЧа Старые игры
Давным давно, когда компьютеры были большими,
а игры - маленькими... Стоп, а как же называлась
моя старая игра, в которую я часами играл с
друзьями? Да, да, еще с VGA-шной графикой и
PC-спикером в качестве звука! Вспомнили? В этой
группе вам помогут это вспомнить. Обсуждения
старых игр, вопросы их прохождения, секреты и
коды - список тем самый разнообразный! Ведь только
в старых играх осталась та крупица геймплея,
которой так не хватает сегодняшним играм... 1994,
1993, 1992... - отсчет назад пошел, присоединяйся!!! Подписаться FAQ от системы Эксперт
Теперь каждую пару «вопрос-ответ» система Эксперт
отправляет в эту группу. Любой и каждый может
свободно сказать: «Здесь в ответе неточность.
Здесь нужно вот так…». Иначе сказать, подписавшись
на сообщения этой эхо-конференции, вы сможете не
только быть в курсе всех без исключения FAQ,
формируемых системой, но и откорректировать ответ,
поправить и даже открыть обсуждение по его поводу.
Следовательно, отныне у вас будет наиболее полные
и точные ответы на вопросы, проходящие через систему. Подписаться Виртуальная гостиная "По Душам"
Виртуальная гостиная, где можно найти друзей или
просто поговорить о жизни за чашкой чая или кружкой
пива, при этом невзначай оказавшись в Королевстве
Амбер, где можно запросто пообщаться с его
королем — Рэндомом, попытаться расспросить у
кавалера Ордена Бойцового Кота — КоТа про
интереснейшую жизнь Васи сНежного, узнать —
кто такие «мамонты», полюбоваться видами
Байкала и вулкана, попробовать стряпню Бера
(если вам удастся уговорить его отложить любимый
меч ненадолго в сторонку), и не только это... Подписаться Почтовые рассылки и конференции
Группа посвящена почтовым рассылкам, конференциям и
всему, что связано с ними. Главная тема - обсуждение
факторов, влияющих на популярность рассылок - периодичность,
тематика, контингент подписчиков и т. п.
Приветствуются конструктивные идеи по этому поводу.
Также будут обсуждаться вопросы открытия,
продвижения рассылок, особенностей дизайна и многое другое.
Разрешен обмен подписными формами и анонсы новых рассылок. Подписаться Вопрос-Ответ
Как позвонить на телефон в другом городе через интернет?
Какой программой просмотреть файлы *.wmv? Отчего текст
печатается закорючками? В этой группе вы сможете задать
любые интересующие вас вопросы. Чем сможем — поможем! Подписаться наверх Доска объявлений Ищу телеработу.
Объявляется конкурс на лучщий баннер для сайта VB Студия. Приз за лучший баннер - 5000 показов баннерообменной сети TLE. Вопросы и предложения по этому адресу
Мои программы BalloonMessage for MS Agent BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels. Автор: Шатрыкин Иван. Соавтор: Павел Сурменок. наверх Вопрос/Ответ Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы. Вопросы:Автор вопроса: SedayaAkula Ответ ожидается по этому адресу Esli cto sharit v DirectDraw .Pomogite kak mogno zapolnit' surface iz gif fila ??? Автор вопроса: SedayaAkula Ответ ожидается по этому адресу Est' array tipa Byte soderjashiy v sebe kakoyto gif file , kak etot array zakinut' v picture box ???? Автор вопроса: albarut Ответ ожидается по этому адресу Есть необходимость запускать и модифицировать документы Word & Excel 95 из-под VB. Но MS Word (Excel) 8.0 Object Library не дает такой возможности ("Run-time error 429. ActiveX Component cannot create object.") Можно ли это дело объехать? Или, может, кто встречал библиотеки MSWORD7.OLB и WSEXCEL7.OLB? Автор вопроса: Сергей Ответ ожидается по этому адресу Еть массив Arrray(100). Как можно удалить срез массива, например, с 40 по 70 элементы. Автор вопроса: Анатолий Ответ ожидается по этому адресу Как программно получить явуки определ?нной длительности и частоты в VB? Автор вопроса: Abbas Ответ ожидается по этому адресу U menyia programma na Access. V programme (form) forma dla usera . V etoye forme est knopka ili icon katoraya vidiot k kakomu-to destviye ili k drugoye forme. Kak mojna sdelat password dla etoye knopki, to est esli user najimaet knopku poyavitsa obyavlenie vadi vash parol (enter your password). Автор вопроса: Ewgeniy Ответ ожидается по этому адресу Как с помощью VB сфотопрафировать экран(как PrintScreen)? Ответы: Вопрос: Создал на VB6 приложение для работы с БД в локальной сети. Работает, честно говоря, медленно. Друзья говорят, напиши в Delphi - работать будет быстрее. Действительно ли это так, или это дело вкуса, в чем писать? Ответ: Автор ответа: Шатрыкин Иван А еще говорят, что нужно использовать ADO, который быстрее в сети на порядок. Кроме того, бывают случаи, когда DAO 3.51медленно работает из-за каких то внутренних проблем драйвера на некоторых машинах. Проблема решается использованием DAO 3.6, которая значительно шустрее именно в локальной сети. По поводу Delphi - чушь, дело в том, что в любом случае будут использоваться одни и те же библиотеки DAO или ADO. Вопрос: Создал на VB6 приложение для работы с БД в локальной сети. Работает, честно говоря, медленно. Друзья говорят, напиши в Delphi - работать будет быстрее. Действительно ли это так, или это дело вкуса, в чем писать? Ответ: Автор ответа: Sergey Y. Tkachev Често говоря, мне это кажется странным. Нет, я не буду спорить с тем человеком, который перепишет ЭТО на VC++, но на Delphi?...... Вообще, я имею некоторую неприязнь к продуктам Borland (простите употребление устаревших названий :)). Видел, как тормозил тандем C++ Builder5 и MSSQL7. Жутое зрелише. Нет, возможно задержка в 1 сек. на одном запросе для кого-то покажется нормальной, но на VB за это время благополучно исполняется 10 запросов!!! Я думаю, что Ваша проблема связана с одной из следующих причин: 1) что-то не то с самой базой 2) что-то не так написано на VB. Для того, чтобы дать совет в Вашей ситуации, расскажите, плз., какую базу Вы используете, какие таблицы и взаимосязи, какие запросы. Что Вы понимаете под "сетевой" базой: какой-нибудь сервер БД или линкованые таблицы MS Access? Какую технологию доступа к данным Вы используете: DAO, ODBC, ADO, RDO etc.? Ну вот, получился не ответ, а множество вопросов. Может, это хоть немного Вам поможет, заставит задуматься, поискать и попробовать различные пути. Если нужна более подробная информация - подробнее опишите Вашу задачу. Одно могу сказать точно, т.к. проверено на личном опыте: с Майкрософтовскими БД лучше работать через Майкрософтовскую софту. Я не сторонник шнурков разного цвета. Вопрос: Если есть у кого-нибудь пример как записывать и считывать данные из ячеек Excel-я в VB не в VBA, пришлите, плиз!! Ответ: Автор ответа: Шатрыкин Иван У немя есть програмка, которая это делает: Вот кусочек кода для получения данных: 'ссылка на объект Set XLApp = GetObject(, "Excel.Application") 'переключиться в Excel XLApp.Visible = True 'сообщение пользователю MsgBox "Выделите область с данными и нажмите Ok" 'значение из таблицы DataExcel = XLApp.Application.Selection.Value Переменная DataExcel будет иметь вид обычного массива данных. Вопрос: Если есть у кого-нибудь пример как записывать и считывать данные из ячеек Excel-я в VB не в VBA, пришлите, плиз!! Ответ: Автор ответа: Kirill Чтобы читать и писать данные в файлах Excel из VB можно подключить к проекту библиотеку Excel (Project->References..., библиотека Microsoft Excel x.0 Object Library), потом создать переменную типа Excel.Application и работать с помощью этой переменной как в Excel VBA Примерно это может выглядеть так: Dim xlApp As Excel.Application Dim uniVar As Variant On Error Resume Next ' если Excel уже запущен, будем использовать его Set xlApp = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set xlApp = CreateObject("Excel.Application") ' если произошла ошибка (Excel не был запущен) запускаем Excel сами On Error GoTo 0 With xlApp uniVar = .GetOpenFilename("Excel Workbook (*.xls), *.xls", , "Open file for ...") If uniVar = False Then GoTo ExitNode .Workbooks.Open FileName:=uniVar Set uniVar = .ActiveWorkbook.ActiveSheet uniVar.Range("A1").Value = "Huray! This cell filled by VB!" ' do some stuff ... End With ExitNode: uniVar = Empty xlApp.Quit Set xlApp = Nothing Единственное ограничение: код будет работать только на машине с установленным Excel'ем. Еще можно заморочиться, раздобыть описание формата Excel'евских файлов и написать алгоритм чтения этих файлов самому, но стоит ли так морочиться? Вопрос: Подскажите пожалуйста как сделать Репорт на основе данных массива. Ответ: Автор ответа: Crazy_worM Просто на просто запусти вложенный цикл: Dim Mas(1 to 10;1 to 10) for i=0 to ubound(mas,1) for j= ubound(mas,2) text1.text= text1.text & mas(i,j) & chr(13) & chr(10) next nex Можете заполнить эту форму, либо отослать вопрос СЮДА Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта. |
||||||
Выпуск подготовили: | Сурменок Павел и Шатрыкин Иван |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||