Имя: Пароль:
IT
 
Обновляемый курс доллара в текстовом документе Word
0 Юлия Цветочек
 
22.02.17
14:47
Здравствуйте, как в текстовом документе Ворда вставить обновляемое значение курса доллара?
Нужно для прайс.
Спасибо)
1 Волшебник
 
модератор
22.02.17
14:49
макросом?
2 Кирпич
 
22.02.17
14:51
Написать сверху "Цены указаны в долларах. Пересчет в гривны осуществляется по текущему курсу доллара."
3 Господин ПЖ
 
22.02.17
14:55
(1) кто ж сейчас позволяет макросам выполняться в документах, хз откуда присланных
4 Fish
 
22.02.17
14:55
Используй Excel:
см. Обновление курсов евро и доллара
http://www.interface.ru/fset.asp?Url=/microsoft/psms6.htm
5 Господин ПЖ
 
22.02.17
14:57
обновляемое кстати откуда? с рбк? а у компа получателя сего прайса точно доступ есть на него?
6 Юлия Цветочек
 
22.02.17
15:03
(1) без разницы, лишь бы работало
7 Юлия Цветочек
 
22.02.17
15:04
(4) В Экселе не надо. Задача - сделать в Ворде
8 Fish
 
22.02.17
15:05
(7) Используй магию copypaste.
9 Юлия Цветочек
 
22.02.17
15:06
(5) Можно,как вариант, отсюда http://cbr.ru/currency_base/daily.aspx?date_req=28.01.2017
10 Юлия Цветочек
 
22.02.17
15:07
(8) С использованием Эксель нельзя
11 NorthWind
 
22.02.17
15:09
(3) в данном случае, похоже, придется разрешить. Иначе задача нерешаема.
12 Юлия Цветочек
 
22.02.17
15:14
А как вывести результат работы Макроса в виде числового значения в Ворде? Какой командой в Макросе?
13 NorthWind
 
22.02.17
15:15
в ворде нет значений ячеек, но есть поля и переменные. Такие, как номера страниц, к примеру. Наверно, нужно смотреть в этом направлении. Присваивать переменной значение из макроса и пусть показывает в нужном месте.
14 Юлия Цветочек
 
22.02.17
15:19
(13) Как это прописать в Макросе?
15 NorthWind
 
22.02.17
15:21
у меня, к сожалению, под руками OpenOffice. В нем бы я сделал так - Вставка - Поля - Еще поля. Там есть закладка Переменные, там Задать переменную, задал бы ей имя и какое-то изначальное значение, скажем, 0. А потом бы написал макрос который бы добирался до этой переменной и менял бы ее значение.
16 Юлия Цветочек
 
22.02.17
15:22
Спасибо - сейчас посмотрю и попробую)
17 NorthWind
 
22.02.17
15:22
в MS Office логика та же, но названия меню и диалогов могут быть другие
18 NorthWind
 
22.02.17
15:24
то есть идея такая. Вы, возможно, видели документы, в которых присутствуют серенькие области. Это редактируемые пользователем поля. В такие поля можно помещать именованные переменные - как встроенные в ворд, так и заданные пользователем. И если можно создавать переменные и можно менять их из макроса, то дело собственно в шляпе.
19 Fish
 
22.02.17
15:27
Вот ссылка на скрипт, получающий ежедневные курсы: http://www.cbr.ru/scripts/XML_daily.asp
20 Юлия Цветочек
 
22.02.17
15:32
(19) Да, скрипт -то я нашла.
Вот:
    Dim d, m, y As Integer
    
    'выводим диалоговое окно с вопросом о дате
    'inpdate = CDate(InputBox("Введите дату в формате ДД.ММ.ГГГГ", _
    '    "Курс доллара", Date))
     d = Format(Date, "dd")
     m = Format(Date, "mm")
     y = Format(Date, "yyyy")
    'разбираем дату на составляющие
    d = Format(inpdate, "dd")
    m = Format(inpdate, "mm")
    y = Format(inpdate, "yyyy")
    'формируем строку для веб-запроса
    sURI = "http://cbr.ru/currency_base/daily.aspx?C_month="; & m & "&C_year=" _
                  & y & "&date_req=" & d & "%2F" & m & "%2F" & y
    'делаем запрос
    On Error Resume Next
    Set oHttp = CreateObject("MSXML2.XMLHTTP")
    If Err.Number <> 0 Then
        Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
    End If
    On Error GoTo 0
    If oHttp Is Nothing Then
        Exit Sub
    End If
    oHttp.Open "GET", sURI, False
    oHttp.Send
    'получаем HTML страницы с курсами и извлекаем из него курс доллара
    htmlcode = oHttp.responseText
    outstr = Mid(htmlcode, InStr(1, htmlcode, "USD") + 87, 7)
    Set oHttp = Nothing
    'заменяем точку на запятую и выводим в активную ячейку
    outstr = Replace(outstr, ",", ".")
    'Как ВЫВЕСТИ  в нужное место в тексте?!
    
End Sub

Работает,не ругается, но без вывода результата
21 NorthWind
 
22.02.17
15:35
22 Юлия Цветочек
 
22.02.17
15:42
(21) О, спасибо) А  тут - вставила закладку, задала ей имя "ffff", добавила в Макрос команду ctiveDocument.Variables("ffff").Value = outstr , но НИЧЕГО)
23 Юлия Цветочек
 
22.02.17
15:44
* А я тут - вставила закладку, задала ей имя "ffff", добавила в Макрос команду АctiveDocument.Variables("ffff").Value = outstr
24 NorthWind
 
22.02.17
15:57
ну... чем могу
25 NorthWind
 
22.02.17
16:08
собственно, самый простой вариант - можно врубить в ворде "запись макроса" и потом попробовать поменять значение переменной через диалог. Затем сохранить макрос и посмотреть как оно это делает.
26 Юлия Цветочек
 
22.02.17
19:00
(25) интересно, попробую
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс