Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 30
от 18.03.2005, 22:20

Администратор:Калашников О.А.
В номере:Вопросов: 2, Ответов: 2


Вопрос № 18198: Текст Вашего вопроса: Здравствуйте, Возник такой вопрос: VBA: Dim str as STRING ... ...'здесь заполняем чем нибудь строковую переменную Вопрос: На сервере в интернете лежит php-скрипт, как из программы на VBA передать...
Вопрос № 18230: Уважаемые эксперты! При инсталляции VB спрашивает: Launch BackOffice Installation Wizard Visual Source Safe Server SNA Server Что это?...

Вопрос № 18198
Текст Вашего вопроса:
Здравствуйте,
Возник такой вопрос:
VBA:
Dim str as STRING
...
...'здесь заполняем чем нибудь строковую переменную
Вопрос:
На сервере в интернете лежит php-скрипт, как из программы на VBA передать ему значение строковой переменной методом POST?
При ответе укажите пожалуйста какие References должны быть подключены к проекту VBA.
Вопрос отправлен: 17.02.2005, 09:35

--------------------------------------------------------------------------------
Отвечает: Licvidator (>>)
Здравствуйте, Антонов Максим Владимирович!
Юзаем Winsock:
Private Sub W1_Connect()
Dim postString As String
postString = "/имя_принимающего_скрипта?somevar=" & postString
W1.SendData postString
End Sub
Чтобы вызвать метод Connect():
dim IP as string, Port as string
IP="ип_адрес"
Port="80"
W1.Close
W1.connect IP, Port
Соответственно, если ответ от сервера принимать не надо, то на этом можно остановится. В противном случае используйте метод W1_DataArrival, при этом учитывая, что ответ как правило идет кусками, а не весь сразу.
Запомните, сам по себе винсок никаких хидеров (заголовков) не шлет, поэтому согласно рфц на сокеты, сервер не обязан отвечать на запросы, если хидеры неправильно указаны.
Если что-то осталось непонятным, обращайтесь:)
Ответ отправлен: 18.02.2005, 15:57

Все таки я ничего не понимаю
Если можно приведите работающий пример
Отправим на хост http://a-les.ru/counter/count.php
строку $text (это php) именно методом POST и получим текст возвращаемый сервером.
БУДУ ОЧЕНЬ БЛАГОДАРЕН.
(приведенный адрес - просто считает кол-во слов в тексте ... (просто для примера)
для общего развития можно привести и отправку методом GET
(все это из VBA (Word,Excel))
P.S. да еще ...... известно только имя хоста IP-динамический
Отправлен: 13.03.2005, 00:59
Вопрос задал: Антонов Максим Владимирович (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Licvidator
Здравствуйте, Антонов Максим Владимирович!
Добавляем кнопку, добавляем винсок...

Private Host As String, Port As Integer, ServerAnswer As String
Private Sub Command1_Click()
Host = "a-les.ru"
Port = 80
Winsock1.Close
Winsock1.Connect Host, Port
End Sub
Private Sub Winsock1_Close()
If ServerAnswer = "" Then Exit Sub 'эта строка нужна, чтобы не было зацикливаний
MsgBox ServerAnswer
ServerAnswer = ""
End Sub
Private Sub Winsock1_Connect()
Dim text As String, postString As String
postString = "simple text"
text = "/counter/count.php?text=" & postString
Winsock1.SendData GetHeader(Host, text)
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim temp As String
If bytesTotal <> 0 Then
Winsock1.GetData temp
ServerAnswer = ServerAnswer & temp
End If
End Sub
Private Function GetHeader(sHost As String, sPostString As String) As String
Dim a As String, b As Long
b = InStr(1, sPostString, "?")
a = Left(sPostString, b - 1)
sPostString = Right(sPostString, Len(sPostString) - b)
GetHeader = "POST " & a & " HTTP/1.0" & vbCrLf & _
"Host: " & sHost & ":" & Port & vbCrLf & _
"Referer: Localhost" & vbCrLf & _
"User-Agent: MyProgramm" & vbCrLf & _
"Content-Type: application/x-www-form-urlencoded" & vbCrLf & _
"Content-Length: " & Len(sPostString) & vbCrLf & vbCrLf & _
sPostString
End Function
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "Error!" & vbCrLf & Description, vbCritical, "Error!"
End Sub
Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 14.03.2005, 12:12


Вопрос № 18230
Уважаемые эксперты! При инсталляции VB спрашивает:
Launch BackOffice Installation Wizard
Visual Source Safe Server
SNA Server
Что это?
Отправлен: 13.03.2005, 17:06
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Miklucho
Здравствуйте, Александр А.А.!
2-й и 3-й для групповой разработки приложений, а 1-й не знаю.
Ответ отправил: Miklucho (статус: Студент)
Отправлен: 14.03.2005, 05:37
Оценка за ответ: 4


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Отписаться

В избранное