JavaScript 中的 VBA 等效项,用于 Google Sheets 的 Google Apps Script

VBA equivalent in JavaScript for use in Google Apps Script for Google Sheets

本文关键字:Google Sheets Apps Script 用于 VBA 中的 JavaScript      更新时间:2023-09-26

我正在努力将下面的Excel VBA代码转换为JavaScript,以便在Google Apps Script for Google Sheets中使用。不幸的是,我对 JavaScript 很陌生,在 JavaScript 中想出正确的语法就像向飞镖板盲人扔飞镖一样。与其花几个小时试图让猜测起作用,我想检查是否有人可以帮助我转换它。我主要坚持想出一个等价物...如果(Asc()...结束如果...部分功能。

Public Function cleanPhoneNumber(thisNumber As String) As String
    ' this function aspires to clean any phone number format
    ' to standard format (+9999) 999-999-9999 or 999-999-9999
    ' works with almost all phone number formats stored in text
Dim retNumber As String
For i = 1 To Len(thisNumber)
    If Asc(Mid(thisNumber, i, 1)) >= Asc("0") And Asc(Mid(thisNumber, i, 1)) <= Asc("9") Then
        retNumber = retNumber + Mid(thisNumber, i, 1)
    End If
Next
If Len(retNumber) > 10 Then
    ' format for country code as well
    cleanPhoneNumber = Format(retNumber, "(+#) 000-000-0000")
Else
    cleanPhoneNumber = Format(retNumber, "000-000-0000")
End If
End Function

看起来您的函数必须从字符串中提取数字并格式化结果。这可以在JavaScript中完成,您可以将其粘贴到应用程序脚本编辑器中。

function cleanNumber(number) {
  // Remove everything but digits
  number = number.replace(/'D*/g, "");
  // Format the number and return
  return number.substring(0, 3) + "-" + number.substr(4,3) + "-" + number.substr(7);
}