【问题标题】:What is VBA's format function equivalent in Google Scripts/Sheets?Google Scripts/Sheets 中的 VBA 格式函数等价物是什么?
【发布时间】:2021-05-23 07:04:35
【问题描述】:

我在 Google Scripts 中实现下一个 VBA 代码的目标时遇到了一些麻烦(更改变量的数字格式,在数字的左侧添加零)

'VBA CODE
sub addingZeros()
  dim num1 as double
 'Cell A1's value is 1, so I get 0001 
  num1 = format(thisWorkbook.Sheets("MySheet").range("A1"),"0000")
end sub

当我在研究时,一切都指出使用 setNumberFormat 函数,这对我来说不是一个解决方案,因为让我更改工作表中的数字,我只需要更改变量值以用于进一步的目的......在我发现的解决方案中只有一种不同的解决方案,它使用文本功能,但我无法使其工作 (link for that solution)

我想要一个类似这样的代码:

//Google Scripts CODE
function myFunction() {
  var ss = SpreadsheetApp.openById(`XXXXXXXXXXXXX`);
  var sheet = ss.getSheetByName('MySheet');
  var num1 = format(sheet.getRange('a1').getValue(),"0000");
  //Cell A1's value is 1, so I'm expecting to get 0001 
  Logger.log(num1);
};

我们将不胜感激所有帮助。 安东尼奥

【问题讨论】:

    标签: google-apps-script google-sheets number-formatting


    【解决方案1】:

    我相信你的目标如下。

    • 您想要从单元格中检索一个值,并且想要将格式从1 转换为0001
    • 您希望使用 Google Apps 脚本实现此目的。

    模式一:

    在此模式中,使用Utilities.formatString

    示例脚本:

    function myFunction() {
      var ss = SpreadsheetApp.openById(`XXXXXXXXXXXXX`);
      var sheet = ss.getSheetByName('MySheet');
    
      var res = Utilities.formatString("%04d", sheet.getRange("A2").getValue()); // Modified
    
      Logger.log(res)
    }
    
    • 在此修改中,1 的值是从单元格“A1”中检索的,并使用Utilities.formatString 将格式转换为0001

    模式 2:

    在此模式中,使用setNumberFormat

    示例脚本:

    function myFunction() {
      var ss = SpreadsheetApp.openById(`XXXXXXXXXXXXX`);
      var sheet = ss.getSheetByName('MySheet');
    
      var res = sheet.getRange("A1").setNumberFormat("0000").getDisplayValue(); // Modified
    
      Logger.log(res)
    }
    
    • 在此修改中,单元格“A1”的格式使用setNumberFormat 更改,并使用getDisplayValue 检索显示值。

    注意:

    • 这些修改后的脚本是简单的修改。所以请根据您的实际情况修改它们。

    参考资料:

    【讨论】:

    • 我很懒,我认为 '0000' 格式会起作用...谢谢,您的解决方案效果很好
    • @Antonio Graterol 感谢您的回复。我很高兴你的问题得到了解决。也谢谢你。
    猜你喜欢
    • 2012-07-20
    • 1970-01-01
    • 2020-02-13
    • 2019-12-07
    • 2023-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    相关资源
    最近更新 更多