Hướng dẫn run excel macro from javascript - chạy macro excel từ javascript

Các vấn đề với VBA

Visual Basic cho các ứng dụng (VBA) đã được tạo vào những năm 90 và thực tế chưa bao giờ thay đổi kể từ đó. Ngoài môi trường phát triển hoàn toàn lỗi thời và cú pháp độc đáo, VBA còn đặt ra một mối đe dọa lớn đối với các tập đoàn như một công cụ có hiệu quả cao đối với phần mềm độc hại do khả năng truy cập các quy trình hệ điều hành cốt lõi.

Vâng, VBA có điểm mạnh của mình và cá nhân tôi biết những người đã kiếm được hàng triệu đô la vì mã VBA chất lượng. Tuy nhiên, có một cách thú vị nhanh hơn, an toàn hơn và thẳng thắn hơn để tự động hóa Excel: Nói xin chào với Adv-in Excel Môi trường phát triển tự động hóa JavaScript (JADE).

Ngọc là gì?

Jade cung cấp cho bạn sức mạnh để sử dụng JavaScript để tự động hóa mọi thứ trong phạm vi sổ làm việc của Excel mà không làm cho nó được bật macro.

Bởi vì JavaScript bạn viết đang sống trong trình duyệt, nó không có quyền truy cập vào bất kỳ tính năng hệ điều hành nào trên máy tính chủ. Điều này có nghĩa là tất cả mã tự động hóa của bạn được giới hạn trong sổ làm việc của bạn, làm cho nó cực kỳ an toàn để chia sẻ.

Jade cung cấp một môi trường cho phép nhà phát triển viết JavaScript trực tiếp vào sổ làm việc và thậm chí nó có thể kéo các mô -đun mã từ đám mây bằng GitHub Giists.

Một bản demo ngắn

Hãy để nhanh chóng trình bày cách sử dụng JavaScript trong Excel để tự động hóa việc đặt dấu thời gian.

Đầu tiên, bạn sẽ cần thêm bổ trợ vào sổ làm việc Excel của bạn. Hướng dẫn về cách làm như vậy có thể được tìm thấy ở đây.

Khi bạn có phần bổ trợ và chạy, chọn Thêm mô-đun mã

Chọn “Thêm một mô -đun mã

Nhập tên của mô -đun; Trong ví dụ dưới đây, tên là Demo Demo.

Đặt tên cho mô -đun demo demo

Điều này sẽ tạo bộ chỉnh sửa mã bên dưới. Bạn có thể muốn thay đổi kích thước nó để phù hợp với màn hình của bạn tốt hơn.

Đơn giản chỉ cần viết, lưu và chạy JavaScript trong Excel!

Bạn sẽ nhận thấy rằng write_timestamp hiện đang được hiển thị trong bộ chọn thả xuống tên chức năng. Nhấp vào nút Run Run để thực hiện chức năng và ghi ngày và giờ hiện tại vào ô hoạt động.

Bạn cũng có thể thay đổi dấu thời gian thành văn bản!

Jade cũng đi kèm với các thông báo lỗi tiện dụng cho bạn biết vấn đề và nơi để khắc phục nó. Nếu bạn đã quên dấu ngoặc kép kết thúc, bạn sẽ thấy như sau:

Chạy tập lệnh của bạn cũng lưu nó. Nếu bạn muốn lưu mà không cần chạy, bạn có thể nhấp vào nút Lưu Lưu. Bạn có thể đóng lại và mở lại sách bài tập của mình một cách an toàn. Bạn thậm chí có thể gửi một bản sao của sổ làm việc cho người khác và họ có thể chạy mã bạn đã viết!

Điều này hoàn thành bản demo. Bạn có thể bắt đầu sử dụng Jade miễn phí bằng cách lấy nó từ App Store bổ trợ Microsoft.

Nhiêu tai nguyên hơn

Hướng dẫn đầy đủ Jade

Trang hỗ trợ Jade: https://support.jsvba.com/

Tổng quan về API JavaScript: https://docs.microsoft.com/en-us/office/dev/add-ins/reference/overview/excel-add-ins-reference-overview

Này, tôi muốn chạy excel macro từ mã JavaScript. Tôi tìm thấy phương thức Run trong VB nhưng khi tôi thử câu lệnh đã cho trong mã JavaScript, đó là lỗi: Tôi đã mở Excel cụ thể đó có macro.
I want to run excel macro from Javascript code. I find run method in VB but when I tried the given statement in Javascript code, it's giving error: already I have opened that particular excel which has macro.

Excel.Run(Macro name,null)

Vì Macro không yêu cầu bất kỳ tham số nào, đó là lý do tại sao tôi vượt qua NULL trong đó.

Nếu tôi viết:

Excel.Run(Macro name)

Nó một lần nữa cho tôi một lỗi.

Làm ơn, bất cứ ai có thể giúp tôi? Cảm ơn trước.
Thanks in advance.

Đối với những người sử dụng phiên bản Excel 2016 trở lên, có một bổ trợ Excel có tên FunFun trong cửa hàng bổ trợ thực sự cho phép bạn viết và chạy mã JavaScript trực tiếp trong Excel. Và tất nhiên, mã JavaScript của bạn cũng có quyền truy cập vào dữ liệu được lưu trữ trong bảng tính. Dưới đây là một ảnh chụp màn hình về cách nó trông như thế nào trong Excel 2016.

Hướng dẫn run excel macro from javascript - chạy macro excel từ javascript

Ở giữa giao diện, bạn có một phần mà bạn có thể viết mã JavaScript, CSS và HTML. Nó khá giống như một sân chơi được xây dựng vào Excel. Nhưng FunFun cũng có một trình soạn thảo trực tuyến trong đó bạn có thể kiểm tra với mã của mình. Bạn có thể thấy nó trong bức ảnh dưới đây. Tôi cũng đã đăng liên kết của ví dụ trong bức ảnh đầu tiên để bạn có thể chơi cùng.

https://www.funfun.io/1/#/edit/5a4e0d461010eb73fe125c4e

Hướng dẫn run excel macro from javascript - chạy macro excel từ javascript

Điều đặc biệt về trình soạn thảo trực tuyến Funfun là nó chứa 'bảng tính' giống như Excel. Mặc dù bạn thực sự không thể thực hiện bất kỳ định dạng nào ở đây, bạn có thể sao chép dữ liệu của mình vào các ô và kiểm tra mã trực tiếp của bạn.

Để sử dụng dữ liệu được lưu trữ trong bảng tính, tất cả những gì bạn cần làm là viết một số cấu hình trong tệp ngắn của FunFun để cho JavaScript biết khu vực nào trong bảng tính có chứa dữ liệu của bạn. Ví dụ, trong ví dụ mà tôi đã đăng, tất cả những gì bạn cần viết làshort.io file of Funfun to tell JavaScript which area in the spreadsheet that contains your data. For example, in the example that I posted, all you need to write is

{
    "data": "=A2:B9"
}

Và trong mã JavaScript, một đối tượng có tên $ Internal được sử dụng để đọc dữ liệu. Vì vậy, để đọc dữ liệu được lưu trữ trong A2: B9, bạn cần viết$internal is used to read the data. So in order to read the data that stored in A2:B9, you need to write

var data = $internal.data;

Và nó đã hoàn thành. Bạn có thể đi đến tài liệu của Funfun nếu bạn muốn biết thêm.

Nếu bạn hài lòng với kết quả bạn đạt được trong trình soạn thảo trực tuyến, bạn có thể dễ dàng tải kết quả vào bạn Excel bằng URL ở trên. Của Couse trước tiên, bạn cần chèn bổ trợ funfun từ chèn-tiện ích bổ sung của tôi. Dưới đây là một số ảnh chụp màn hình cho thấy cách bạn có thể làm điều này.Insert - My add-ins. Here are some screenshots showing how you could do this.

Hướng dẫn run excel macro from javascript - chạy macro excel từ javascript

Hướng dẫn run excel macro from javascript - chạy macro excel từ javascript

Tiết lộ: Tôi là nhà phát triển của Funfun

Tôi có thể sử dụng JavaScript để tự động hóa Excel không?

Bạn có thể sử dụng bất kỳ ngôn ngữ tập lệnh nào như JavaScript từ Internet Explorer để tự động hóa Excel (Out-of-Proc), nhưng hầu hết các trình duyệt web (nơi mã tập lệnh của bạn có thể được chạy) không biết về máy chủ COM và công nghệ này nói chung. (out-of-proc), but most of web browsers (where your script code can be run) are not aware of COM servers and this technology in general.

JavaScript có thể thay thế VBA không?

Điểm bán hàng lớn là trong khi VBA chỉ hoạt động cho Microsoft Office trên Windows hoặc Mac, JavaScript sẽ hoạt động cho các phiên bản Excel chạy trên web, điện thoại hoặc máy tính bảng của bạn.JavaScript will work for versions of Excel running on the web, your phone or your tablet.

Bạn có thể sử dụng JavaScript trong VBA không?

Đối tượng ScriptControl Đối tượng này cho phép bạn truy cập vào một công cụ kịch bản sẽ chấp nhận tập lệnh trong cả JavaScript và VBScript.Vì trang web này có trọng tâm VBA và JavaScript, nó có vẻ như là một chủ đề rất phù hợp.This object gives you access to a scripting engine that will accept scripting in both javaScript and VBScript. Since this site has a VBA and javaScript focus, it seems like a very appropriate topic.

Làm thế nào tích hợp javascript vào excel?

Thiết lập dự án bảng tính JavaScript.Thêm mã nhập excel.Thêm dữ liệu vào tệp Excel đã nhập ...
các chỉ số và cột gốc và các chỉ số cột ..
Đếm hàng và cột ..
giá trị bản sao cho phong cách ..