1 Excel问题
Set ex = CreateObject("Excel.Application")  '在内存中生成 Excel 应用程序对象
Set newbook = ex.Workbooks.Add
我在向excel导入数据完成后,想显示excel,运行语句:
ex.Visible = True
   
如果我继续运行下面的语句关掉excel则excel立刻就看不到了
但我如果不运行下面的语句,当我手动关掉excel后进程里面还有excel,我的程序就不能继续运行了
newbook.Close False         '关闭工作簿
Set newbook = Nothing       '清空内存文档对象
ex.Quit                     '退出 Excel 应用程序对象高手帮帮忙,看看怎么解决这个问题
1 Rnd函数问题
如何使用Rnd函数得到自己指定范围内的数值
如:30-60,200-500

解决方案 »

  1.   

    为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
      

  2.   

    我想了个在每次打开报表前都把excel的进程杀掉
    但奇怪的是当第二次打开报表时执行到设图表数据源语句ex.ActiveChart.SetSourceData Source:=Sheets(sSheetName).Range(Rngstr), PlotBy:= _
            xlColumns 时会报错:“远程服务器不存在或不能使用。”
    同样的语句在第一次打开报表时就没有问题
      

  3.   

    是这句的问题
    Sheets(sSheetName).Range(Rngstr)
    我用word时也出现过类似问题。
    如果可能加上ex. 就是指定它的上一级对象或集合
    我感觉在第一次运行时,系统分配给excel一些资源,当你杀掉excel后,虽然你重新分配资源给了excel,但它里面的函数还是到原来的地方去找,原来的资源已经没有了,就会报错
      

  4.   

    如果不是必需,不要毕掉excel,再次使用可以先关报表再开新的,等所有的操做完成了在关。
    如果必须在中途关掉excel,请如下使用
    如ex.ActiveChart.SetSourceData Source:=Sheets(sSheetName).Range(Rngstr), PlotBy:= ……
    第一次使用时不带ex.也能正常运行,把不代前缀的加上。
    如果还不行。就把这部分编写成独立的exe,用主程序shell,用dde进行两个程序的通信。不需要时把子程序结束。(相当于你的子程序每次运行一次,下次就是一个新的。)