我在MS-Project中编写了这段代码,但我认为我包含了与Excel接口所需的所有库.
这是我尝试过的:
Sub OpenBackupFile()
Titler = ActiveProject.CustomDocumentProperties("Title").Value
BackupFile = "C:\POAMLogs\" & Titler & ".xlsx"
'Set ExcelBackerp = CreateObject("Excel.Application")
Set ExcelBackerp = New Excel.Application
With ExcelBackerp
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
.DisplayAlerts = False
.Workbooks.Open BackupFile
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
无论我得到什么,对象"_Application"的方法"计算"失败 我可以得到intellisense给我第一个作为选项,但在第二个'计算'没有出现在intellisense中.
这段代码用于将JSON转换为一个对象,其中每个名称对象都将变成其值的键,或者如果它具有自己的元素对象则将其分解并对其内容执行相同的操作。
有没有更好的方法来做到这一点,同时还能使JSON模式更具可扩展性?
有没有办法将所有内容简化为一个更简单的函数,即可以传递第一个元素并将其转换为架构所经过的任何深度?
const fs = require('fs');
{
let scheme = JSON.parse('{"$schema":{"root":{"name":"THINGY","dtd":{"name":"DOCTYPE","value":"something.dtd","commentBefore":["?xml version='1.0'?","Version NULL"]},"ele":{"name":"REPORT","ele":[{"name":"SEGMENT0","ele":[{"name":"NUMBER1","value":""},{"name":"NUMBER2","value":""}]},{"name":"SEGMENT1","ele":[{"name":"RECORD1","ele":[{"name":"NUMBER1","value":""},{"name":"NUMBER2","value":""}]}]},{"name":"SEGMENT2","ele":[]},{"name":"SEGMENT3","ele":[]},{"name":"SEGMENT4","ele":[]},{"name":"SEGMENT5","ele":[]}]}}}}').$schema.root;
let depth = 0;
var compiled = {
[scheme.ele.name]: scheme.ele.ele.map(function(i) {
if (typeof i.ele != 'undefined') {
return {
[i.name]: i.ele.map(function(k) {
if (typeof k.ele != 'undefined') {
return {
[k.name]: k.ele.map(function(p) {
if (typeof p.ele != 'undefined') {
return {
[p.name]: p.ele
};
} else {
return {
[p.name]: p.value
};
}
})
};
} else {
return {
[k.name]: k.value
};
}
})
}; …Run Code Online (Sandbox Code Playgroud)