سؤال

أحاول كتابة بعض كود VBA في Excel 2010 والتي من شأنها أن تستهلك خدمة ويب. أنا غير قادر على العثور على أي موارد ذات صلة على الإنترنت. هل يمكن لأحد أن يخبرني كيف أفعل ذلك.

هل كانت مفيدة؟

المحلول

لا أعتقد أن المنشور الذي تم وضع علامة عليه لأن الإجابة صحيحة - إنها ترتبط بحل Excel 2003 ، والذي كان يعتمد على مجموعة أدوات MS Office Web Services. لم يعد هذا الحل صالحًا لأن مجموعة الأدوات لم يتم دعمها بعد الآن. نرى: MSDN - استهلاك خدمات الويب في Excel 2007. يوفر الرابط حلاً لـ Excel 2007 والذي يمكن نقله إلى Excel 2010. ستحتاج إلى Visual Studio 2010 مع أدوات Microsoft Office Developers. وهذا يعني أيضًا استخدام .NET Framework والترميز في C# أو VB.NET.

نصائح أخرى

لقد ناضلت مع نفس السؤال في مشروع حديث لي حيث أردت التحدث إلى Trello و Salesforce في Pure VBA دون تثبيت أي مكونات إضافية أو فتح Visual Studio أو غيرها من الاختراقات. انتهى الأمر بكتابة مكتبتي الخاصة (استنادًا إلى واحدة من المفضلة ، RESTSHARP).

تحذير ، قابس وقح: https://github.com/vba-tools/vba-web

تشمل بعض الميزات الممتعة دعم Mac (!) ، والمصادقة (HTTP Basic ، و OAUTH1 ، و OAUTH2 ، وغيرها) ، و Async Support ، و JSON Parsing (بفضل vba-json)

إنه يعمل بشكل مذهل في Excel 2010 و 2013 (وعلى الأرجح 2007) وقد جعلتها تعمل مع Salesforce و Trello و Basecamp و Google Maps ، ويجب أن تعمل مع أي خدمة ويب إلى حد كبير.

FWIW اعتبارًا من وقت النشر ، وجدت أن مجموعة أدوات مراجع الويب القديمة لـ Excel 2003 لا تزال تنتج رمز VBA العام أوقفت هذا الرمز العاملة حتى لا أعتبر الحل "موثوقًا").

يتضمن اختراقي الرهيب تثبيت Excel 2003 ، ثم مجموعة أدوات مراجع الويب ، ثم تثبيت Excel 2007 أو Excel 2010. لقد قمت بإعداد 3 أجهزة كمبيوتر باستخدام هذا الاختراق وكلها تنتج رمز VBA العاملة لاستهلاك خدمات الويب ASMX ( التواصل مع أنواع أخرى من خدمة الويب ، لكنني لا أرى سبب عدم عملهم).

طريقة MS الرسمية ، باستخدام VSTO ، هي خطوة بعيدة جدًا بالنسبة لبعض عملائنا ، وقد أبقىهم هذا الاختراق VBA سعيدًا.

بعد بضع سنوات ... وجدت هذه الصفحة وهو أفضل وأوضح تفسير ومثال وجدته حتى الآن ، بما في ذلك رابط مثير للاهتمام يقدم خدمات للعب مع.

خدمة خدمة Windows Communication Foundation (WCF) لدمج خدمات الويب في بيئات التطوير المستندة إلى COM ، مثل Microsoft Office Visual Basic للتطبيقات (Office VBA) أو Visual Basic 6.0. لمزيد من التفاصيل راجع الرابط https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top