Excel 2007 sử dụng các dịch vụ web (cụ thể là Google Finance)


2

Excel 2007 có thể truy cập các dịch vụ web, cụ thể là Google Finance hoặc Yahoo Finance không?

Tôi muốn có thể để sổ làm việc của tôi tự động cập nhật giá cổ phiếu / quỹ từ một trong các trang web này.

Tôi biết bạn có thể nhập bảng từ các trang web (Nhập dữ liệu từ web) nhưng điều này không đáp ứng nhu cầu của tôi. Bảng tính Google có chức năng GoogleLookup để tự động tra cứu giá nhưng tôi thích sử dụng Excel hơn để sử dụng pivots, định dạng bảng, v.v.

Nếu không, Excel 2010 có khả năng này không?


Bây giờ bỏ phiếu để di chuyển trên Stack Overflow. Tôi nghĩ rằng có một câu trả lời "người dùng", như tôi đã mô tả lúc đầu, để kích hoạt đơn giản là thư viện. Tuy nhiên, có vẻ như cách duy nhất để thực hiện nó đòi hỏi studio trực quan, hoặc nói chung là nhiều thứ liên quan đến lập trình hơn, và câu hỏi này có lẽ sẽ tốt hơn trên Stack Overflow.
Gnoupi

1
Tôi nghĩ rằng câu hỏi này, như được viết hiện tại, tốt nhất nên để lại ở đây tại Super User @gnoupi ... nhưng nếu câu trả lời thực sự là "làm điều đó từ Visual Studio", các câu hỏi tiếp theo về các phương pháp hoặc chức năng cụ thể nên được đăng lên Stack Overflow.
quack quixote

Tôi sẽ điều tra lộ trình mã hóa như được đánh dấu bởi Gnoupi. Sẽ đăng bất kỳ câu hỏi loại mã hóa nào nữa trên StackOverflow.
Col

Câu trả lời:


1

Dưới đây là liên kết đến tất cả các thông tin liên quan bạn sẽ cần để tận dụng thư viện "Microsoft Office Soap Type Library v3.0". Nhấn vào đây để xem tài liệu chi tiết. . Ngoài ra đây là một mẫu cho thấy làm thế nào để tiêu thụ một số dữ liệu báo giá chứng khoán.

Có vẻ như bạn sẽ phải làm một chút về lập trình VBA nhưng dường như có rất nhiều ví dụ và thậm chí là các sổ làm việc excel mẫu mà bạn có thể tải xuống.

Thưởng thức!


Điều này chỉ hợp lệ cho các phiên bản Excel trước năm 2007, như Excel XP, không may.
Gnoupi

Xin chào Gopi, tôi không thấy bất kỳ lý do tại sao điều này sẽ không hoạt động trong năm 2007? Tôi sẽ đưa ra một ví dụ vào chiều nay / tối nay và đăng nó cho bạn.
Doug

Giống như tôi đã nói ít nhiều trong câu trả lời của tôi, nó sẽ hoạt động trong năm 2007, thư viện thậm chí đã được bao gồm, nhưng bạn sẽ không có trợ lý cho phép bạn tạo các đối tượng trực tiếp từ dịch vụ web. Ngoài ra, từ một số nguồn, có vẻ như đây không phải là cách được đề xuất để làm mọi thứ nữa trong các phiên bản mới. Ví dụ, thành phần này không xử lý bảo mật WS.
Gnoupi

1

Hoàn toàn có thể thực hiện thông qua VBA.

Dim objHttp As Object, strURL as string, strText as string

Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")

strURL = "http://www.google.com/finance?q=NASDAQ%3AMSFT"

objHttp.Open "GET", strURL, False
objHttp.setRequestHeader "User-Agent", _
  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHttp.Send ("")

strText = objHttp.responseText

'And this is where you parse apart the strText 
'(effectively the HTML of the site) to locate your relevant data

Set objHttp = Nothing

0

Chỉnh sửa: Điều này chỉ hoạt động cho Excel 2003 (mặc dù nó cũng yêu cầu cài đặt một plugin)

Nó có thể, vâng. Bạn cần kích hoạt chúng trong VBA.

  1. Mở Trình soạn thảo Visual Basic (Alt + F11)
  2. Nhấp vào Công cụ & gt; Tài liệu tham khảo
  3. Trong danh sách xuất hiện, tìm thành phần có tên "Microsoft Office Soap Type Library v3.0" và kiểm tra nó
  4. Nhấn OK, thành phần được cài đặt.

Để tạo các phương thức để truy cập Dịch vụ web, bạn cần chỉ định tệp định nghĩa (wsdl) trong mục nhập menu "Tham chiếu dịch vụ web", trong các công cụ, sẽ xuất hiện sau.

Để thực sự truy cập dữ liệu từ đó, bạn sẽ cần lập trình VBA và tôi mời bạn đặt thêm câu hỏi về nó trên trang web chị em của chúng tôi dành riêng cho câu hỏi lập trình, Tràn ngăn xếp .


Ok, phương pháp này đã hoạt động trong Excel 2003, nhưng có vẻ như nó không phải là cách được đề xuất hiện nay. Tôi không thể tìm thấy thực đơn tôi đã nói với bạn. Thư viện mà tôi đề cập có lẽ được sử dụng vì lý do tương thích.

Bây giờ tất cả những gì tôi có thể tìm thấy về nó là làm điều đó từ Visual Studio 2008 hoặc để theo dõi nhiều con trỏ hơn tại Stack Overflow này câu hỏi .


Cảm ơn Gnoupi Đã thêm tham chiếu nhưng không có mục trình đơn Tham khảo dịch vụ web nào xuất hiện. Tôi đã thử lưu, đóng và mở lại sổ làm việc.
Col

@Col - Tôi không có quyền truy cập vào Excel 2007 ngay bây giờ, tôi sẽ kiểm tra sau. Các mục có thể khác nhau, tôi đã đặt tên theo bộ nhớ.
Gnoupi

Cảm ơn các liên kết Gnoupi, tôi đặc biệt quan tâm đến tùy chọn VS2008 vì dù sao tôi cũng là nhà phát triển C #. Hy vọng về một cách dễ dàng để làm điều này mà không liên quan đến việc mã hóa Bảng tính Google
Col

@Col - ngay cả với thành phần tôi biết từ Excel 2003, bạn sẽ cần ít nhất một chút lập trình, để đưa kết quả của dịch vụ web vào trang tính. Thành phần này sẽ trả về các đối tượng được định nghĩa trong WS, nhưng đó là tất cả.
Gnoupi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.