Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как открыть файл html на листе Excel? с помощью VBA 
:(
    Опции темы
Frekenbok
Дата 22.11.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 29.10.2006

Репутация: нет
Всего: 1



Здравствуйте, уважаемые!
Вот моя проблема. Есть книга Excel. В ней 3 листа. на первых двух листах какие-то таблицы. На 3-м листе данные из файла html. А именно.... Имеется файл html с парочкой заголовков и большой табличкой. Если открыть его в Excel, то он очень здорово открывается (как новая книга). Все заголовки и таблички встают как надо.  Потом я через буфер обмена копирую все это дело на 3-й лист. А мне бы хотелось, чтобы по кнопочке на 3-м листе этот html-файлик открывался именно на 3-м листе, при этом данные на других листах сохранялись. Как это осуществить? 
PM MAIL   Вверх
Akina
Дата 22.11.2007, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Запиши это макрорекордером и проанализируй полученный код.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Frekenbok
Дата 23.11.2007, 05:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 29.10.2006

Репутация: нет
Всего: 1



Пардон, а макрорекордер - это что такое? Обычный макрос записать? Или не совсем? Стыдно, но такое в первый раз слышу 
PM MAIL   Вверх
Akina
Дата 23.11.2007, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(Frekenbok @  23.11.2007,  06:50 Найти цитируемый пост)
макрорекордер - это что такое?

Это сервис-макрос-начать запись. 
Затем вручную выполняешь требуемые действия.
Далее сервис-макрос-остановить запись.
И наконец сервис-макрос-редактор VBA.
Осталось изучить программную запись выполненных действий.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Frekenbok
Дата 24.11.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 29.10.2006

Репутация: нет
Всего: 1



В общем получилось вот что...
Код

    Windows("Detail.html").Activate
    Cells.Select
    Selection.Copy
    Windows("отчет.xls").Activate
    ActiveSheet.Paste

Это при условии, что файл html уже открыт в Excel. Если копировать прямо из браузера, то кусок про браузер вообще в макрос не пишется, сразу Paste, мол, и все... А мне бы хотелось, чтобы просто в стандар
PM MAIL   Вверх
kapbepucm
Дата 26.11.2007, 10:51 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 3
Всего: 12



Код
Public Function ExtractTableName(MyFileName As String) As String
  ExtractTableName = MyFileName
  Dim I As Long
  For I = Len(MyFileName) To 1 Step -1
    If Mid(MyFileName, I, 1) = "\" Then
      ExtractTableName = Right(MyFileName, Len(MyFileName) - I)
      Exit For
    End If
  Next I
End Function
Public Sub ImportTable()
  Const HTMLfile As String = "путь\table.htm"
  Dim WrkNm As String
  WrkNm = Application.ActiveWorkbook.Name
  Application.Workbooks.Open HTMLfile
  Application.Workbooks(ExtractTableName(HTMLfile)).Sheets(1).Cells.Select
  Selection.Copy
  Application.Workbooks(WrkNm).Sheets(3).Paste
  Application.CutCopyMode = False
  Application.Workbooks(ExtractTableName(HTMLfile)).Close False
End Sub



--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0923 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.