小编Tim*_*rds的帖子

getRange、getDataRange 和 getActiveRange 之间的区别?

如果问题不是很明显,我对 Google Apps Script 还很陌生。我正在尝试编写一个电子表格函数,该函数遍历工作簿中表单提交表的每一行,并根据第一个使用 for 循环中的单元格的值更新第二个工作表/范围(在同一工作簿中)。但是,当我运行该函数时,没有任何反应。

我很确定错误在于我如何定义有问题的范围,但我不是 100% 确定。这是我所写内容的修改版本:

function update() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var secondSheet = ss.getSheets()[1];
  var submissionSheet = ss.getSheets()[0];

  var secondRowEnd = secondSheet.getLastRow();
  var submissionRowEnd = submissionSheet.getLastRow();

  var secondColumnEnd = secondSheet.getLastColumn();
  var submissionColumnEnd = submissionSheet.getLastColumn(); //used to define ranges dynamically

  var secondRange = secondSheet.getValues();
  var submissionRange = submissionSheet.getValues();

  for(var i = 2; i <= submissionRowEnd; i++) {

    var rock = secondRange.getCell(i, 1).getValue();
    var paper = secondRange.getCell(i, 2).getValue();
    var scissors = secondRange.getCell(i, 3).getValue();

    var status …
Run Code Online (Sandbox Code Playgroud)

javascript excel spreadsheet google-apps-script

7
推荐指数
1
解决办法
3万
查看次数

通过VBA获取laccdb文件的内容

我希望能够通过VBA查看访问数据库的laccdb文件的内容,以便我可以使用它来提醒用户(通过按钮)数据库中还有谁.

我特别不想使用第三方工具.我尝试过使用:

Set ts = fso.OpenTextFile(strFile, ForReading)
strContents = ts.ReadAll
Run Code Online (Sandbox Code Playgroud)

如果数据库中只有1个用户,则此工作正常.但对于多个用户来说,它可能会被大概非ASCII字符弄糊涂,并在一次输入后进入这种情况:

完全胡言乱语

有没有人有什么建议?如果我只是在Notepad ++中打开文件就没问题了......


最终使用的代码如下(我不需要标题并删除了一些未使用的代码):

Sub ShowUserRosterMultipleUsers()
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset

cn.Provider = "Microsoft.ACE.OLEDB.12.0"
cn.Open "Data Source=" & CurrentDb.Name

Set rs = cn.OpenSchema(adSchemaProviderSpecific, , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
While Not rs.EOF
    Debug.Print rs.Fields(0)
    rs.MoveNext
Wend

End Sub
Run Code Online (Sandbox Code Playgroud)

ms-access vba filesystemobject access-vba ms-access-2013

6
推荐指数
1
解决办法
4256
查看次数

通过 VBA 更改 Excel 辅助轴字体颜色而不激活图表

我已经在字体属性上看到了这个问题,它让我成为了其中的一部分。

我正在尝试更改字体颜色。到目前为止,我有以下代码:

ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.Axes(xlValue, xlSecondary).TickLabels.Font.Color = 5855577
Run Code Online (Sandbox Code Playgroud)

这工作正常。

让我恼火的是我必须通过激活图表来做到这一点。肯定有更好的方法。如果我执行以下任一操作,则不起作用:

Dim cht As ChartObject
Set cht = ActiveSheet.ChartObjects("Chart 2")
cht.Axes(xlValue, xlSecondary).TickLabels.Font.Color = 5855577

'-------------------------

Dim cht As ChartObject, ax As Axes
Set cht = ActiveSheet.ChartObjects("Chart 2")
Set ax = cht.Axes(xlValue, xlSecondary)
ax.TickLabels.Font.Color = 5855577
Run Code Online (Sandbox Code Playgroud)

我通常会尽量避免在我的代码中选择或激活,所以这很烦人!有任何想法吗?

excel vba excel-2013

2
推荐指数
1
解决办法
3983
查看次数