2010-08-19 57 views
16

Tôi đang cố gắng viết một số mã VBA trong Excel 2010 sẽ tiêu thụ một dịch vụ web. Tôi không thể tìm thấy bất kỳ tài nguyên nào có liên quan trên internet. Ai đó có thể cho tôi biết làm thế nào để làm điều này.gọi dịch vụ web bằng mã VBA trong excel 2010

+0

Bạn có thể tìm thấy [this] (http://msdn.microsoft.com/en-us/magazine/cc163837.aspx) hữu ích. Nó sẽ áp dụng tốt như nhau cho Excel 2010. Tìm thấy [this] (http://blogs.msdn.com/b/hovsep/archive/2007/07/11/excel-2007-how-to-connect-to-and- import-data-from-an-xml-web-service.aspx). – yuben

+0

Blog của Jimmy Peña có một loạt bài viết tuyệt vời về cách thực hiện điều đó. http://www.codeforexcelandoutlook.com/blog/category/internet-explorer/ – Lunatik

+0

tiếc là không có gì liên quan đến vấn đề cụ thể này trong trang web này – Aadith

Trả lời

8

Tôi không nghĩ rằng bài đăng được đánh dấu là câu trả lời đúng - nó liên kết đến giải pháp Excel 2003, dựa trên Bộ công cụ dịch vụ Web của MS Office. Giải pháp đó không còn hợp lệ vì Bộ công cụ không được hỗ trợ nữa. Xem: MSDN - Consuming Web Services in Excel 2007. Liên kết cung cấp một giải pháp cho Excel 2007 có thể được chuyển đổi sang Excel 2010. Bạn sẽ cần Visual Studio 2010 với Microsoft Office Developers Tools. Nó cũng có nghĩa là sử dụng .Net Framework và mã hóa trong C# hoặc VB.NET.

+4

-1, câu hỏi được yêu cầu cho VBA. Câu trả lời này yêu cầu Visual Studio. –

+4

Đủ công bằng. Theo ý kiến ​​của tôi, MS muốn có VBA chết và nó đang đẩy các giải pháp .net cho Office. Trên ghi chú riêng biệt, bạn không phải sử dụng Visual Studio. Bạn có thể sử dụng NotePad và trình biên dịch dòng lệnh. – Juliusz

+4

Người ta sẽ ngạc nhiên về số lượng ngân hàng (thậm chí rất lớn) sẽ gần như ngừng hoạt động nếu VBA biến mất vào ngày mai !!! –

3

FWIW tính đến thời điểm đăng bài tôi thấy rằng Bộ công cụ tham khảo web cũ của Excel 2003 vẫn tạo mã VBA hoạt động trong Excel 2007/10 (lưu ý rằng đã có một số khoảnh khắc run rẩy với các bản cập nhật Windows khác nhau 18 tháng đã ngừng mã này làm việc vì vậy tôi sẽ không xem xét giải pháp của tôi 'đáng tin cậy').

Tấn công khủng khiếp của tôi liên quan đến việc cài đặt Excel 2003, sau đó cài đặt Excel 2007 hoặc Excel 2010. Tôi đã thiết lập 3 PC bằng cách sử dụng hack này và tất cả đang tạo mã VBA làm việc để sử dụng dịch vụ web asmx (I chưa thử kết nối với các loại dịch vụ web khác nhưng tôi không thấy lý do tại sao chúng không hoạt động).

Phương pháp MS chính thức, sử dụng VSTO, là một bước quá xa đối với một số khách hàng của chúng tôi và bản hack VBA này đã khiến họ hài lòng.

28

Tôi gặp khó khăn với cùng một câu hỏi về dự án gần đây của tôi, nơi tôi muốn nói chuyện với Trello và Salesforce trong VBA thuần túy mà không cần cài đặt bất kỳ plugin nào, mở Visual Studio hoặc các hack khác. Đã kết thúc viết thư viện của riêng tôi (dựa trên một trong những mục yêu thích của tôi, RestSharp).

Cảnh báo, không biết xấu hổ cắm: (!) https://github.com/VBA-tools/VBA-Web

Một số tính năng thú vị bao gồm hỗ trợ Mac, xác thực (Http Basic, OAuth1, OAuth2, và những người khác), hỗ trợ Async, và JSON phân tích cú pháp (nhờ VBA-JSON)

Nó hoạt động rất tốt trong Excel 2010 và 2013 (và rất có thể là năm 2007) và tôi đã làm việc với Salesforce, Trello, Basecamp, Google Maps và nó sẽ hoạt động với nhiều dịch vụ web.

+0

Chà. Phần lớn công việc, chưa thử nghiệm, nhưng có vẻ tuyệt vời. Cảm ơn rất nhiều! – Juliusz

+0

công việc đặc biệt, cảm ơn bạn! –

+0

Hoàn toàn tuyệt vời! Cám ơn vì đã chia sẻ. – Roberto

Các vấn đề liên quan