老师,
这段生成Word模板的代码,我想将".正确答案: "设成“黑体,红字”,这个代码怎么修改?Dim tm
As String = ProjectPath
& "Attachments\试卷模板.doc"
'指定模板文件
Dim fl
As String = ProjectPath & "Reports\试卷模板.doc" '指定目标文件
Dim wrt
As New WordReport(Tables("抽题"),tm,fl) '定义一个WordReport
Dim sb
As new StringBuilder
For Each
s As String In DataTables("抽题").GetValues("类别")
sb.clear
Dim i As Integer = 1
For Each dr As DataRow In DataTables("抽题").Select("类别='"
& s & "'")
sb.AppendLine(i & ". " &
dr("题目")
& ".正确答案:
" & dr("正确答案"))
i += 1
Next
wrt.Replace("[" &
s & "]",sb.ToString)
Next
wrt.Build()
'逐行生成报表
wrt.Show() '显示报表
这个是拼凑字符串的,无法控制。如果要做需要生成文件后再使用vba打开文档,然后使用代码搜索.正确答案,在使用代码设置样式。目前foxtable没有提供wordvba的相关用法,可以自己上网搜搜
比如:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=70797&skin=0
不好意思,这个问题问过了
[此贴子已经被作者于2024/5/20 10:07:29编辑过]
Dim cnt As Integer = DataTables("数据1").DataRows.Count
Dim ids1 As New List(Of Integer) '用于存储洗牌前的位置
Dim ids2 As New List(Of Integer) '用于存储洗牌后的位置
For i As Integer = 0 To cnt - 1 '准备初始的牌
ids1.add(i)
Next
'For i As Integer = 0 To cnt \ 3 '开始洗牌
For i As Integer = 0 To cnt - 3 '开始洗牌
ids2.Add(ids1(rand.Next(0, ids1.count)))
Next
老师, 我想问一下, 下面这两句代码有什么区别?
For i As Integer = 0 To cnt \ 3 '洗牌次数 开始洗牌
For i As Integer = 0 To cnt - 3 '开始洗牌
老师, 我现在明白了代码的含义:
Output.Show(cnt - 3) 'cnt - 3表示总行数-3次;
Output.Show(cnt \ 4) 'cnt \ 3表示次数为总行数的1/3;
洗牌次数还是用Output.Show(cnt \ 4) 这种形式比较好, 具体需要洗牌次数为多少, 如何定?比如1000行和10000行, 都用三分之一吗?还是前者用三分之一, 后者用四分之一, 还是洗牌次数太多?