2009-08-18 60 views
5

Bất kỳ tiện ích nào tốt ngoài đó để xác minh cú pháp VBScript mà không thực sự chạy tập lệnh?Kiểm tra cú pháp VBScript

gì tôi nhận xét là nếu tôi làm điều gì đó như:

If (year == "2005" && type == 1) Then 
... 
End If 

Có một công cụ mà sẽ nói với tôi rằng '& &' thực sự cần được 'Và' và '==' , chỉ '='?

Trả lời

1

Thực ra, tôi nghĩ rằng có một cách. Script Control bao gồm một phương thức Execute tương tự như phương thức Eval của HTML VBScript. Bạn có thể cho nó một chuỗi và cú pháp sẽ kiểm tra nó.

Bạn vẫn có thể tải ứng dụng từ đây. http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en

Bài viết MSDN cũ này mô tả cách thêm Tập lệnh vào ứng dụng của bạn. http://msdn.microsoft.com/en-us/magazine/cc302278.aspx

MSDN Điều trên Something Script kiểm soát http://msdn.microsoft.com/en-us/library/aa227633(VS.60).aspx

như thế này .. (không chắc chắn về instantiation)

Dim ScriptControl1 as New MSScript 
ScriptControl1.ExecuteStatement “If (year == "2005" && type == 1) Then..End If” 
+0

Tôi sẽ phải chụp ảnh đó. cảm ơn. –

+1

liên kết bị hỏng ..... –

0

Visual Studio (2005 chắc chắn) sẽ làm nổi bật cú pháp và cung cấp cho bạn IntelliSense cho các dll đã đăng ký, điều này giúp bạn rất gần với cú pháp được xác minh.

Ngoài ra, đó là ngôn ngữ thông dịch, vì vậy chỉ có quá nhiều thứ bạn có thể làm. Ngay cả trường hợp tốt nhất chỉ đảm bảo trạng thái "nó hoạt động trên máy của tôi".

0

tôi không nghĩ theres bất kỳ chuyển đổi có sẵn không may nhưng xem xét rằng cú pháp VBScript là khá dễ dàng, bạn có lẽ có thể chuyển đổi nó khá dễ dàng

0

Tôi đang tìm kiếm những điều tương tự. Nếu bạn tình cờ làm việc với vbscript trong bối cảnh của asp, có cái gì đó gọi là http://aspclassiccompiler.codeplex.com/ mà dường như biên dịch asp cổ điển của bạn vào asp.net.

Vì tôi tin rằng điều này cung cấp một số loại lỗi thời gian biên dịch, tôi nghĩ rằng lỗi cú pháp sẽ được báo cáo trong quá trình biên dịch. Chưa thử nó ra.

7

Nếu bạn không muốn chạy tập lệnh của mình vì bạn không muốn thực sự làm bất cứ điều gì, thì một phương pháp tôi đã sử dụng là đặt câu lệnh "WScript.Quit" ở đầu tập lệnh (sau Option Explicit nếu có) sau đó chạy nó bằng cscript.exe hoặc wscript.exe.

Ví dụ:

Option Explicit 
WScript.Quit 
Dim year 
If (year == "2005" && type == 1) Then 
    WScript.Echo "Hello" 
End If 

này sẽ không nắm bắt được các biến không xác định (như "loại" ở trên), nhưng nó là một cách nhanh chóng dễ dàng để kiểm tra xem bạn đã có đúng cú pháp.

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