2011-06-23 11 views
8

मैं एक वेब सर्वर होस्ट करना चाहता हूं और इसे करने के लिए वीबीए का उपयोग करना चाहता हूं। क्या यह संभव है? मैं बस गलत साबित करने के लिए ऐसा कर रहा हूं और वास्तव में इस कार्यक्रम को बनाना चाहता हूं।क्या वीबीए में वेबसर्वर होस्ट करना संभव है?

तो क्या वास्तव में एक सरल वेब सर्वर बनाना संभव है (केवल अनुरोध प्राप्त करने के लिए सुनता है)? मदद बहुत सराहना की जाएगी।

संपादित

मैं हालांकि यह काम नहीं करता इस

Sub startServer() 
    Set wunsock = CreateObject("OSWINSCK.Winsock") 
    wunsock.LocalPort = 80 
    wunsock.Listen 
End Sub 

Sub wunsock_ConnectionRequest(ByVal requestID As Long) 
    If sockMain.State <> sckClosed Then 
     sockMain.Close 
    End If 
    sockMain.Accept requestID 
End Sub 

Private Sub wunsock_DataArrival(ByVal bytesTotal As Long) 
    Dim strData As String 
    sockMain.GetData strData, vbString 
    txtStatus.Text = txtStatus.Text & _ 
     strData & vbCrLf 
End Sub 

की तरह कुछ कोशिश कर रहा हूँ?

+8

"... किसी को गलत साबित करने के लिए ..." -> +1 –

+0

http: // social .msdn.microsoft.com/मंच/एन-यूएस/isvvba/धागा/a9262dc9-5e97-4b61-9fa5-014976c47527 /? –

+1

एक्सेल में एम्बेडेड एक वेब सर्वर। दिमाग चकमा देता है। – anon

उत्तर

1

मुझे यकीन नहीं है कि मैं इस सवाल को पूरी तरह से समझता हूं। आम तौर पर, आप "वेब सर्वर होस्ट नहीं करते", आप एक वेबसाइट होस्ट करते हैं।

लेकिन यदि आप वीबीए के साथ टीसीपी सॉकेट कर सकते हैं, तो आप HTTP मानक प्रोटोकॉल का पालन करके अविश्वसनीय रूप से सरल वेब सर्वर बना सकते हैं।

संपादित करें: अपनी टिप्पणी के आधार पर, हाँ जब तक आप एक टीसीपी सॉकेट खोल सकते हैं तब तक आप एक साधारण वेब सर्वर बना सकते हैं।

+0

मैं किसी पोर्ट पर किसी वेब पेज पर अनुरोधों को सुनना चाहता हूं (आदि localhost: 234/hi.html)। इसे उत्तर देने या कुछ भी करने की आवश्यकता नहीं है। – David

3

http://www.ostrosoft.com/oswinsck.asp#inst

जो VBA से इस्तेमाल किया जा सकता पुस्तकालय का एक विनसॉक प्रकार है। ऐसा करना संभव है जो आप करना चाहते हैं हालांकि करने के लिए सबसे कुशल चीज नहीं है।

मैं आपकी दृढ़ता की आशा करता हूं कि यह आपके लिए काम करता है।

+0

पंक्ति। इसके लिए धन्यवाद: डी – David

+0

मैं इस तरह की कोशिश कर रहा हूं सब स्टार्टसेवर() सेट wunsock = CreateObject ("OSWINSCK।विनशॉक ") wunsock.LocalPort = 80 wunsock.Listen End Sub उप wunsock_ConnectionRequest (ByVal requestID तक) sockMain.State <> sckClosed तो फिर sockMain.Close अंत तो sockMain.Accept requestID End Sub निजी उप wunsock_DataArrival (ByVal बाइट्सटॉटल लॉन्ग के रूप में) धुंध स्ट्रैटाटा स्ट्रिंग के रूप में sockMain.GetData strData, vbString txtStatus.Text = txtStatus.Text और _ strData और vbCrLf एंड सब हालांकि यह काम नहीं करता है? – David

+2

@ डेविड: कृपया कोड में बहुत सारे कोड न डालें टिप्पणी। यह स्पष्ट रूप से गैरकानूनी है। इसे अपने प्रश्न में एक संपादन के रूप में रखें, और इसे 'कोड' के रूप में प्रारूपित करें। मैं इस बार आपके लिए यह करूँगा। –

1

ठीक है, सवाल की भावना का उल्लंघन करने का जोखिम पर, आप हमेशा पुस्तकालय कार्यों के लिए वीबी के समर्थन का उपयोग कर सकते हैं और केवल लाइब्रेरी सी-भाषा वेब सर्वर विकल्प (http://www.acme.com/software/micro_httpd/ जैसे की एक संख्या में से एक के लिए बाध्य बनाने के लिए, http://www.gnu.org/software/libmicrohttpd/ या http://code.google.com/p/mongoose/)। आपको चयनित वेब सर्वर से डीएलएल बनाना होगा, लेकिन यह उचित रूप से आसानी से किया जाता है और यह वीबीए में ठीक काम करेगा।

0

आपको कितना वीबीए चाहिए? These videos स्थिर फ़ाइलों को प्रस्तुत करने के लिए और आरईएसटी अनुरोधों को आरबीए कोड को अग्रेषित करने के लिए उपयोग किया जा रहा है। आरएन

संबंधित मुद्दे

 संबंधित मुद्दे