如何使用Lotus脚本更改alterrowcolor和Header样式?

时间:2012-09-04 09:57:52

标签: lotus-notes lotusscript

我的要求是,我有数百个观点。我想将它们作为标准颜色和UI。简单我用于通过NotesViewColumn类更改列标题和列值的字体颜色。但我不知道哪个类具有动作栏和查看替代颜色和Heaer样式等属性,

在javascript中也很受欢迎。但它应该将其属性更改为设计者级别。

提前致谢

3 个答案:

答案 0 :(得分:2)

您有3个选项:

  1. 最简单的一个:从Ytria去买ezView。你应该花不到一个小时来整理你的意见
  2. 创建一个视图,查看您希望查看视图的方式,然后浏览脚本中的所有视图,重命名视图,根据视图模板创建新视图,并从旧视图中复制视图列并调整视图选择公式(所有在LotusScript中)
  3. 在DXL中导出视图并运行一些XSLT或搜索/替换以调整属性
  4. 希望有所帮助

答案 1 :(得分:2)

我刚刚运行此代理,将我(小)测试数据库中的所有视图更改为具有备用行颜色,并且它有效。

Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim exporter As NotesDXLExporter
Dim importer As NotesDXLImporter

Dim out As String
Dim infile As string
Dim pointer As long
Dim filenum As Integer
Dim altrow As integer


Dim unid As String
Dim doc As notesdocument
Set db = session.currentdatabase
Set exporter = session.Createdxlexporter
Set importer = session.Createdxlimporter

Dim count As Integer
count = 1
ForAll v In db.views
    unid = v.UniversalID
    Set doc = db.getdocumentbyunid(unid)
    out =  exporter.Export(doc)
    altrow = instr(out, "altrowcolor")
    If altrow > 0 Then
        pointer = InStr(altrow, out, "=")
        out = Left(out,pointer) & "'#f7f7f7'" & Mid(out, pointer+10)
    else
        pointer = InStr(out, "bgcolor=")
        pointer = InStr(pointer, out, " ")
        out = Left(out,pointer) & "altrowcolor='#f7f7f7' " & Mid(out, pointer+1)
    End if
    Call importer.setinput(out)
    Call importer.setoutput(db)
    importer.Designimportoption = 5
    importer.Documentimportoption = 5
    Call importer.Process()
    out = ""
    infile = ""
    count = count + 1
End ForAll
Print count & " views processed"
End Sub

如果您的视图设计更大,您可能希望使用NotesStream而不是String来“out”。在这种情况下,从帮助文件中,我认为必须先关闭并重新打开该流,然后才能将其用于导入。

为了进一步研究,我建议将“out”写入文件,并检查xml以查找其他“隐藏”参数。 玩得开心,菲尔

答案 2 :(得分:1)

我也可以推荐ezView。使修改视图变得轻而易举。我还使用actionBarEZ来修改跨应用程序的操作栏。 我在博客上写了一些我在Domino Designer中使用的不同开发工具,您可以在这里找到条目:http://www.bleedyellow.com/blogs/texasswede/entry/mydevelopmenttools