Foxtable(狐表)用户栏目专家坐堂 → Dim rxD As New prt.RenderText


  共有4309人关注过本帖树形打印复制链接

主题:Dim rxD As New prt.RenderText

帅哥哟,离线,有人找我吗?
edisontsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
Dim rxD As New prt.RenderText  发帖心情 Post By:2022/11/30 7:28:00 [只看该作者]

For c As Integer = 1 To 50
      Dim rxD As String
      rxD = rxD & cD
      Dim rxD As New prt.RenderText '定义一个文本对象 
Next 
上述代码我希望每次循环时,红色的 rxD 那里是不断变化的,比如从 rxD1 一直变到 rxD50,但是执行时出现提示:当前块中已声明了局部变量 rxD。请问要怎样修改呢?谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105470 积分:536335 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/30 8:31:00 [只看该作者]

变量名称无法动态使用。在循环里使用,使用同一个变量名即可,不会冲突的

For c As Integer = 1 To 50
      Dim rxD As New prt.RenderText '定义一个文本对象 
Next 

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/11/30 14:11:00 [只看该作者]

2楼的方法行得通。谢谢。


图片点击可在新窗口打开查看此主题相关图片如下:图片1.jpg
图片点击可在新窗口打开查看

上图是一个报表。我希望将上面那个图变成下面那个图,即把月份那行同月份的列进行合并。是不是可以在数据表里面计算出10有多少个,11月有多少个,12月有多少个,这样就可以在报表里面进行合并。但是不知道在数据表里面如何计算每个月有多少列数。谢谢。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105470 积分:536335 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/30 14:18:00 [只看该作者]

遍历这一行所有单元格判断即可

dim a as string = Sheet(0,0).value
dim m as integer = 0
for i as integer = 1 to Sheet.Cols.count - 1
if Sheet(0,i).value <> a then
magbox(a & "值开始列" & m & ",结束列" & (i-1))
合并单元格
m = i
a = Sheet(0,i).value
end if
next

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/11/30 16:44:00 [只看该作者]

        If r = 2 Then 
            Dim cyc As Integer = cr1("计划制作周期") + 1
            Dim a As String = rt.Cells(2, 12).text
            Dim m As Integer = 0
            For i As Integer = 1 To cyc
                If rt.Cells(0, i + 12).text = a Then
                Else
                    msgbox("a=" & a & "值开始列=" & m & ",结束列=" & (i - 1))
                    rt.Cells(2, m + 12).SpanCols = i - m '合并单元格
                    m = i
                    a = rt.Cells(2, i + 12).text
                End If
             Next
        End If

上面是我的代码。无论 rt.Cells(0, i + 12).text 是否等于 a,上面红色的代码都会执行(msgbox显示的值是正确的),但是蓝色那行代码却不会执行,即不会合并单元格。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105470 积分:536335 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/30 16:47:00 [只看该作者]

execl文档发上来看看

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/11/30 17:15:00 [只看该作者]

它不是excel 档案, 是pdf格式的。 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模具项目进度表.rar



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105470 积分:536335 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/30 17:24:00 [只看该作者]

pdf看不出行列的索引,生成execl发上来看。应该是行列的索引计算不准确导致的

dim a as string = Sheet(0,0).value 这里假设第一行是要合并的,0指第一行索引
dim m as integer = 0 这里假设从第一列开始判断合并
for i as integer = 1 to Sheet.Cols.count - 1 从下一列也就是第二列开始遍历
if Sheet(0,i).value <> a then 这里0指的是需要合并的行,和上面红字对应
magbox(a & "值开始列" & m & ",结束列" & (i-1))
合并单元格
m = i 
a = Sheet(0,i).value 这里0指的是需要合并的行,和上面红字对应
end if
next

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/1 7:40:00 [只看该作者]

找到原因了,是下面那句的行号搞错了:那个红色的0应为2。
If rt.Cells(0, i + 12).text = a Then

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/12/1 11:52:00 [只看该作者]

    '开始加斜线
    Dim ra As prt.RenderArea
    ra = rt.Cells(2, 9).Area 
    Dim ln As New prt.RenderLine(0, 0, 1, 1, New prt.Linedef) '定义一个线条
    ln.Width = "Parent.Width" '加斜线之后再加文字
    ln.Height = "Parent.Width" '加斜线之后再加文字
    ra.Children.Add(ln)
    
    Dim rx5 As New prt.RenderText '定义一个文本对象   
    rx5.Text = "时间"
    rx5.X = "Parent.Width - 15"
    rx5.y = "5"
    ra.Children.Add(rx5)
    'doc.Body.Children.Add(rt)
    '结束加斜线
上面代码是希望在 第2-4行和第3-9列这个大方框里面加斜线和问题,但是好像没有效果,线条加不上,文字也加不上。另外,上面红色那行只是表达了一个cell,不知道怎样把这个大方框表达出来。谢谢。

 回到顶部
总数 20 1 2 下一页