精华内容
下载资源
问答
  • Print a(1, j - 3) ElseIf i >= 6 Then a(2, j - 6) = Val(Text1(j).Text) Print a(2, j - 6) End If Next j Next i For i = 0 To 2 x(i) = Val(Text3(i).Text) b(i) = Val(Text2(i).Text) Next i...
  • Debug.Print ("=====================================================") ' 先把整个工资表个copy过来 Cells.Select Selection.Copy Sheets("工资条").Select Cells.Select ActiveSheet.Paste
    Sub make_wage()
    
    Debug.Print ("=====================================================")
    ' 先把整个工资表个copy过来
       Cells.Select
       Selection.Copy
       Sheets("工资条").Select
       Cells.Select
       ActiveSheet.Paste
       
    ' 不管发生什么错误都继续执行
    On Error Resume Next
    
    'XRan 酱油的 把总共多少行计算出来
    'YRan 表头
    'ZRan 间隔行
    Dim XRan As Range, YRan As Range, ZRan As Range, RowNum As Integer, i As Integer
    Dim Down, N   '标题行数
    
    Down = MsgBox("工资表表头是否设计好?" & vbCrLf & "     " & vbCrLf & "★表头将直接套用到工资条中★", vbQuestion + vbYesNo, "功能提示")
    If Down = vbNo Then
        Sheets("工资表").Select
        Range("A1:C1").Select
        Exit Sub
    End If
    Down = MsgBox("是否制作工资条?", vbQuestion + vbYesNo, "功能提示")
    If Down = vbNo Then
        Sheets("工资表").Select
        Range("A1:C1").Select
        Exit Sub
    End If
    
    '指定标题的列数
    ' Do loop 是如果不满足 就一直给循环下去 满足后运行loop
    Do
    N = InputBox("请指定表头行数!" & vbCrLf & "     " & vbCrLf & "“确定”后依数据量耐心等候…………", "提示", 1)
    If IsNumeric(N) Then
        Exit Do
    Else
        Down = MsgBox("给定为非整数!!" & vbCrLf & "是否重新指定?", vbExclamation + vbYesNo, "错误")
        If Down = vbNo Then
        Sheets("工资表").Select
        Range("A1:C1").Select
        Exit Sub
        End If
    End If
    Loop
    N = CInt(N)
    
    
    '先按标题数N插入N+1行空行
    Set XRan = Cells(N + 1, 2) 'B列要确保为非空列
    
    Do
    '这一句不懂 但是 这一段代码就是没一行之间都插入 N+1个空格
    XRan.Offset(1, 0).Rows("1:" & N + 1).EntireRow.Insert Shift:=xlDown
    Set XRan = XRan.End(xlDown)
    RowNum = ActiveSheet.UsedRange.Rows.Count
    
    Debug.Print ("XRan.Row ==" & XRan.Row)
    Debug.Print ("RowNum   == " & RowNum)
    
    Loop While XRan.Row < RowNum
    
    
    '再复制标题列
    RowNum = ActiveSheet.UsedRange.Rows.Count
    
    Rows("1:" & N).Select
    Selection.Copy
    Set YRan = Rows(N + 3 & ":" & 2 * N + 2)
    
    ' i = 那个数 然后 最大数 为 RowNum  每一次的跨度是 N+2
    For i = 2 * (N + 2) + 1 To RowNum Step N + 2
        Set YRan = Union(YRan, Rows(i & ":" & i + N - 1))
    Next
    YRan.Select
    Debug.Print ("RowNum2222   == " & RowNum)
    ActiveSheet.Paste
    
    
    '最后设定好数据间的距离
    Set ZRan = Rows(N + 2)
    For i = 2 * (N + 2) To RowNum Step N + 2
        Set ZRan = Union(ZRan, Rows(i))
    Next
    ZRan.Select
    
    Selection.Borders.LineStyle = xlNone
    
    ' Do nothing
    
    Down = MsgBox("是否指定工资条间距?" & vbCrLf & "  " & vbCrLf & "★打印前应预览有无跨页★", vbQuestion + vbYesNo, "间距")
    If Down = vbYes Then
    Do
    N = InputBox("请指定工资条间距!" & vbCrLf & "  " & vbCrLf & "可通过调整间距或页边距使工资条不跨页", "提示", 20)
    If IsNumeric(N) Then
    If N >= 0 And N <= 409 Then
    Exit Do
    End If
    End If
    Down = MsgBox("行高必须在0至409之间!" & vbCrLf & "是否重新指定?", vbExclamation + vbYesNo, "错误")
    If Down = vbNo Then
    Exit Sub
    End If
    Loop
    Selection.RowHeight = N
    End If
    End Sub
    

    展开全文
  • 模块中的代码: ...[vb] view plain copy  print? Option Explicit  '  ' 要求:使用本模块时需要在工程中引用 Microsoft HTML Object Library。  ' 

    http://blog.csdn.net/rztyfx/article/details/9499421

    模块中的代码:

    1. Option Explicit  
    2. '  
    3. ' 要求:使用本模块时需要在工程中引用 Microsoft HTML Object Library。  
    4. '  
    5. Private Type GUID  
    6.     Data1 As Long  
    7.     Data2 As Integer  
    8.     Data3 As Integer  
    9.     Data4(0 To 7) As Byte  
    10. End Type  
    11. Private Declare Function GetClassName Lib "user32" _  
    12.     Alias "GetClassNameA" ( _  
    13.     ByVal hWND As Long, _  
    14.     ByVal lpClassName As String, _  
    15.     ByVal nMaxCount As LongAs Long  
    16. Private Declare Function EnumChildWindows Lib "user32" ( _  
    17.     ByVal hWndParent As Long, _  
    18.     ByVal lpEnumFunc As Long, _  
    19.     lParam As LongAs Long  
    20. Private Declare Function RegisterWindowMessage Lib "user32" _  
    21.     Alias "RegisterWindowMessageA" ( _  
    22.     ByVal lpString As StringAs Long  
    23. Private Declare Function SendMessageTimeout Lib "user32" _  
    24.     Alias "SendMessageTimeoutA" ( _  
    25.     ByVal hWND As Long, _  
    26.     ByVal msg As Long, _  
    27.     ByVal wParam As Long, _  
    28.     lParam As Any, _  
    29.     ByVal fuFlags As Long, _  
    30.     ByVal uTimeout As Long, _  
    31.     lpdwResult As LongAs Long  
    32. Private Const SMTO_ABORTIFHUNG = &H2  
    33. Private Declare Function ObjectFromLresult Lib "oleacc" ( _  
    34.     ByVal lResult As Long, _  
    35.     riid As GUID, _  
    36.     ByVal wParam As Long, _  
    37.     ppvObject As Any) As Long  
    38. Public Declare Function FindWindow Lib "user32" _  
    39.     Alias "FindWindowA" ( _  
    40.     ByVal lpClassName As String, _  
    41.     ByVal lpWindowName As StringAs Long  
    42. '  
    43. ' 函数:IEDOMFromhWnd。  
    44. '  
    45. ' 返回:一个 WebBrowser 窗口的 IHTMLDocument 对象接口。  
    46. '  
    47. ' hWnd 参数:WebBrowser 控件的句柄或 WebBrowser 控件所在窗口的句柄。  
    48. '  
    49. Public Function IEDOMFromhWnd(ByVal hWND As LongAs IHTMLDocument  
    50.     Dim IID_IHTMLDocument As GUID  
    51.     Dim hWndChild As Long  
    52.     Dim lRes As Long  
    53.     Dim lMsg As Long  
    54.     Dim hr As Long  
    55.     If hWND <> 0 Then  
    56.         If Not IsIEServerWindow(hWND) Then  
    57.             ' 查找一个 WebBrowser 控件。  
    58.             EnumChildWindows hWND, AddressOf EnumChildProc, hWND  
    59.         End If  
    60.         If hWND <> 0 Then  
    61.             ' 注册消息。  
    62.             lMsg = RegisterWindowMessage("WM_HTML_GETOBJECT")  
    63.             ' 获取对象的指针。  
    64.             Call SendMessageTimeout(hWND, lMsg, 0, 0, _  
    65.             SMTO_ABORTIFHUNG, 1000, lRes)  
    66.             If lRes Then  
    67.                 ' 初始化接口 ID。  
    68.                 With IID_IHTMLDocument  
    69.                     .Data1 = &H626FC520  
    70.                     .Data2 = &HA41E  
    71.                     .Data3 = &H11CF  
    72.                     .Data4(0) = &HA7  
    73.                     .Data4(1) = &H31  
    74.                     .Data4(2) = &H0  
    75.                     .Data4(3) = &HA0  
    76.                     .Data4(4) = &HC9  
    77.                     .Data4(5) = &H8  
    78.                     .Data4(6) = &H26  
    79.                     .Data4(7) = &H37  
    80.                 End With  
    81.                 ' 利用指针 lRes 获取 IHTMLDocument 对象。  
    82.                 hr = ObjectFromLresult(lRes, IID_IHTMLDocument, _  
    83. 0, IEDOMFromhWnd)  
    84.             End If  
    85.         End If  
    86.     End If  
    87. End Function  
    88. Private Function IsIEServerWindow(ByVal hWND As LongAs Boolean  
    89.     Dim lRes As Long  
    90.     Dim sClassName As String  
    91.     ' 初始化缓冲区大小。  
    92.     sClassName = String$(255, 0)  
    93.     ' 获取 hWnd 句柄拥有者的类名称。  
    94.     lRes = GetClassName(hWND, sClassName, Len(sClassName))  
    95.     sClassName = Left$(sClassName, lRes)  
    96.     IsIEServerWindow = StrComp(sClassName, _  
    97.             "Internet Explorer_Server", _  
    98.             vbTextCompare) = 0  
    99. End Function  
    100. Function EnumChildProc(ByVal hWND As Long, lParam As LongAs Long  
    101.     If IsIEServerWindow(hWND) Then  
    102.         lParam = hWND  
    103.     Else  
    104.         EnumChildProc = 1  
    105.     End If  
    106. End Function  

    窗体中的代码:

    1. Option Explicit  
    2. Private Sub Command1_Click()  
    3.     Dim hWND As Long  
    4.     Dim s As String * 255  
    5.     Dim l As Long  
    6.     hWND = FindWindow("IMWindowClass", vbNullString)  
    7.     GETTEXT hWND  
    8. End Sub  
    9. Private Sub GETTEXT(hWND As Long)  
    10.     '创建一个 IHTMLDocument 对象。  
    11.     Dim objIES As New HTMLDocument  
    12.     Set objIES = IEDOMFromhWnd(hWND)                                            'hWnd 这个东西你肯定有 N 种办法得到。  
    13.     '应用。  
    14.     '例如下面是获得一个 WebBrowser 控件当前浏览网页的地址和该网页的 HTML 源码。  
    15.     Text1.Text = objIES.url & vbCrLf & vbCrLf & objIES.documentElement.innerHTML  
    16. End Sub  

    关于查找其他进程的模态对话框句柄

     (2013-03-01 16:53:33)
      分类: 开发豆知识
    当一个主程序弹出一个模态对话框时,可以分析出此模态对话框的父窗口是主程序窗口,似乎模态对话框是主程序的子窗口,但如果要查找模态对话框窗口时,此对话框应作为顶层窗口来看待,例如应该用Findwindow查找,而不是Findwindowex。原因不明……

    展开全文
  • 1 Private Sub Form_Load() 2 Dim x As Integer 3 x = 2 4 A x 5 Debug.Print x 6 End Sub 7 Sub A(ByRef t As Integer) 8 t = t - 1 9 End Su
    1    Private Sub Form_Load()
    2            Dim x As Integer
    3            x = 2
    4            A x
    5            Debug.Print x
    6    End Sub
    7    Sub A(ByRef t As Integer)
    8            t = t - 1
    9    End Sub
    10    Sub B(ByVal t As Integer)
    11            t = t - 1
    12    End Sub
    13    Sub C(t As Integer)
    14            t = t - 1
    15    End Sub
    这是一个极为简单的Toy程序(呵呵,就是小玩具),不过他却体现了传值和传引用的巨大区别。
    第7、10、13行分别是一个过程,这些过程都实现了同一功能,即将参数t的值减一。
    在窗体的Load事件中,我们定义了一个变量x,然后调用第一个过程(A),注意到第7行中的参数列表中ByRef关键字,它代表传引用。
    对于传引用,参数t 和 x其实就是一个变量。就像人有大名也可能有外号的道理一样。现在对于变量x,它的大名是x,外号是t。那么t-1其实就是x-1.最后打印出来的结果是x-1=1.
    再看第10行,对于过程B,它的参数传递方式使用了ByVal关键字(即传值)
    对于ByVal(传值),参数t和x根本就是不相关的两个变量。就如同两个人一样(以甲、乙为例),起初甲有两个苹果,然后甲告诉乙,你现在也有两个苹果了,于是乙乐呵呵的拿着两个苹果去过程B中,过程B的作用是将乙的苹果数减一,那么最后程序所要打印的是甲的苹果数,显然,苹果数2。根本没发生变化。那么有的朋友会问,这时乙的苹果数是1吧。答案是错的。对于变量,它是有生命周期的(在编程中叫做变量的作用域)。上面的代码中,变量x的有效期从Form_Load事件激活开始,到End Sub(也就是这个事件结束时)为止。而变量t的有效期从过程的第一句开始,到End Sub为止。一旦超过这个有效期,变量的值就不复存在了。所以,如果想要打印出乙的苹果数,只能在使用该变量的过程中打印,超出这个过程对该变量的任何操作都是毫无意义的。
    展开全文
  • input其后能够跟变量列表,也就是能够将内容分别赋值给几个变量,在文本中用逗号分隔开,也就是说,文本中第一个逗号(英文半角逗号)之前的给变量列表里面的第一个变量,第一个逗号之后,第二个

    由于学习到了文件系统编程,特此做记录:

    Input和Line Input都是用于读取文件内容,并将其赋值给变量,其作用在笔者看来是差不多的,区别主要是:

    input语句语法:

    input 文件号,变量列表
    input其后能够跟变量列表,也就是能够将内容分别赋值给几个变量,在文本中用逗号分隔开,也就是说,文本中第一个逗号(英文半角逗号)之前的给变量列表里面的第一个变量,第一个逗号之后,第二个逗号之前的给变量列表里面的第二个变量。代码如下:


    input还有一个特点,就是引号包裹的字符串不会把引号读取进来,只会读取里面的字符串(英文半角引号)

    以上是书上介绍的,但是经过笔者亲测input语句还有一个特点:顺序文件里面出现多行的时候(每一行都没有英文半角逗号)就会把一行的内容赋值给变量列表里面的一个变量。代码如下:



    Line input语句语法:

    Line input #1,变量

    其功能和input语句差不多,但是line input语句是读取一行数据,并赋值给变量,此处后面跟的变量是变量,不是变量列表,如果要读取多行,需使用多个line input语句。并且会把文档中有引号包裹的字符串连引号一起输出出来:


    还有一点需要注意,既然input语句和line input语句都是用于读取文件内容并赋值,那么,其打开模式得用读取方式,如:input


    input函数:

    input函数语法:input(需要读取的字符数,文件号)

    既然是函数肯定有返回值,返回值为文件号对应的字符数,这里需要注意的是当遇到换行的时候会把每一次换行当成是两个字符来读取,我也不知道是为什么。代码如下:


    如上例,文本中的第一行明明是10个字符,但是当笔者设置读取12个字符的时候读取到的还是那10个字符,只有当改成读取13个字符的时候才会读取下一行的引号,具体我也不清除是为什么。

    关于input与line input语句还有一个重要的共同点,打开模式都必须为读取形式,就是用input方式打开。



    print与write

    print与write都是用于对文件写入,所以其打开模式都必须为写入方式如:output/append

    print语句语法:print 文件号,写入内容

    该处的写入内容可以是变量,也可以是具体的内容,案例如下:


    当然,用print语句也可以一次写入多个内容:


    大家应该发现了引号不会写入,这也是print语句与write语句最大的区别,下面说write语句。


    write语句语法:write 文件号,写入内容

    代码如下:


    大家应该观察到区别了,引号会一起写入,并且写入的多个数据之间会自动用英文半角逗号分隔。

    展开全文
  • 1270 Print "X="; IX * DX, 1280 IX = IX + 1 1290 Input #"Elev.=", Y(K) 1300 Rem Compute slope input 1310 If IX (IX) = Y(K) 1320 If IX 1330 YP = (Y(K) - Y(1)) / BL 1340 For J = 2 To K 1350 Y(J ...
  • 写在前面:《龙珠》作为最经典的热血动漫之一,里面精彩的打斗场面是最吸引人的。作为主角的孙悟空本来是赛亚人种族的人,在小的时候用宇宙飞船来到地球,被孙悟饭捡到后生活在一起。悟空因为小时候的头部受到了剧烈...
  • VB学习记录1

    2019-07-02 22:40:03
    1.VB中如果一个语句无法在一行中写下,为了不影响程序的书写和阅读方便,可以使用“空格”和“_”组成续航符。但是通常来说一条语句占据一行,也可以一行里面书写多条语句,但是每条语句之间必须用“:”分割开来。 ...
  • Private Sub Form_Load() Me.Show Dim myt As New remote.Class1 '声明 Dim a, b, c As Double a = 3: b = 7 ...c = myt.test(a, b) '另一个dll中的函数名为test1() ...Print c End Sub 本的新手求大神帮帮!
  • 医院 米老师 VB总结

    2010-04-14 12:25:00
    昨天下午我和小胖被米老师传唤到市医院去,米老师想听听他周六上的课对我的影响有多大,我回答的基本内容和《10年 VB 1》里面的内容差不多,但米老师感觉很空洞,感觉我在泛泛而谈,其实我也有感觉。 为了将米老师...
  • 里面有用 vb 处理俄罗斯方块的核心内容及简单注释(8KB) 584,g014.zip breakthrough游戏(保持小球在屏幕上跳动)源程序(50KB) 585,g013.zip 3维迷宫游戏的源程序(40KB) 586,g012.zip 射击(导弹)游戏...
  • 里面有用 vb 处理俄罗斯方块的核心内容及简单注释(8KB) 584,g014.zip breakthrough游戏(保持小球在屏幕上跳动)源程序(50KB) 585,g013.zip 3维迷宫游戏的源程序(40KB) 586,g012.zip 射击(导弹)游戏...
  • 里面有用 vb 处理俄罗斯方块的核心内容及简单注释(8KB) 584,g014.zip breakthrough游戏(保持小球在屏幕上跳动)源程序(50KB) 585,g013.zip 3维迷宫游戏的源程序(40KB) 586,g012.zip 射击(导弹)游戏...
  • 里面有用 vb 处理俄罗斯方块的核心内容及简单注释(8KB) 584,g014.zip breakthrough游戏(保持小球在屏幕上跳动)源程序(50KB) 585,g013.zip 3维迷宫游戏的源程序(40KB) 586,g012.zip 射击(导弹)游戏...
  • Print test("abc") End Sub Function test(s As String) As String For i = 1 To 3 test = Mid(s, i, 1) + test Next i End Function 输出的结果是“cba”,变成字符串拼接的操作了,不是很理解里面的原理。求...
  • s001.ZIP 装入整个 C 盘目录到 TreeView(4KB) 73,j006_actresiz.ZIP FORM的大小改变的时候,里面的对象也会跟着放大缩小(附示例原程序)(30KB) 74,j005_TriSpace.ZIP 此控件是一个软件3D引擎,内有...
  • s001.ZIP 装入整个 C 盘目录到 TreeView(4KB) 73,j006_actresiz.ZIP FORM的大小改变的时候,里面的对象也会跟着放大缩小(附示例原程序)(30KB) 74,j005_TriSpace.ZIP 此控件是一个软件3D引擎,内有...
  • s001.ZIP 装入整个 C 盘目录到 TreeView(4KB) 73,j006_actresiz.ZIP FORM的大小改变的时候,里面的对象也会跟着放大缩小(附示例原程序)(30KB) 74,j005_TriSpace.ZIP 此控件是一个软件3D引擎,内有...
  • s001.ZIP 装入整个 C 盘目录到 TreeView(4KB) 73,j006_actresiz.ZIP FORM的大小改变的时候,里面的对象也会跟着放大缩小(附示例原程序)(30KB) 74,j005_TriSpace.ZIP 此控件是一个软件3D引擎,内有...
  •  就是一堆SQl语句连续执行,里面可能有一些变量、流程控制,显示等。 所以首先定义一个存储过程,它就有了一批处理名,然后再调用它,可以带一些参数。 [sql] view plaincopyprint? ...
  • Excel中有过多的工作簿如何统计所有的工作...运行后下方显示的数字为当前Excel表格里面的所有工作簿数量: 如图Excel表格下面有56个工作簿 如何在Excel进入VB编程界面? 方法一.在Excel中启动“开发工具”模块进..
  • python调用COM接口里面的方法,没问题,调用事件没反应没报错(表示没触发,但是VB写的程序,证实确实已经触发了事件了) python调用有事件发生的COM,源代码如下 import win32com.client import pythoncom class ...
  • 如果我们建立一个菜单,单击菜单实例化出来一个窗体,再点还会出来一个窗体,这时就需要用单例模式了。...[vb] view plaincopyprint? "font-family:SimSun;font-size:18px;">'单例模式
  • Excel_VBA教程

    2014-09-22 11:36:34
    18在VB过程里面使用常量 89 19内置常量 89 20接下来…… 90 第四章 VBA过程:子程序和函数 91 1.关于函数过程 91 2.创建函数过程 91 3.执行函数过程 92 4.从工作表里运行函数过程 93 5.从另外一个VBA过程里运行函数...
  • ExcelVBA程序设计.doc

    2011-04-05 21:32:51
    18在VB过程里面使用常量 89 19内置常量 89 20接下来…… 90 第四章 VBA过程:子程序和函数 91 1.关于函数过程 91 2.创建函数过程 91 3.执行函数过程 92 4.从工作表里运行函数过程 93 5.从另外一个VBA过程里运行函数...
  • pw.print(Entity.inputEntity(SettingEntiry.getAPPID(),"ALIPAY.TRADE.PRECREATE","UTF-8","RSA",sign.toUpperCase(),sdf.format(date),"1.0",BizContentEntiry.intputBizContentEntity("1000000","0.01","这是...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    目 录 一、VBA语言基础...................................................................................................................1 第一节 标识符....................................................
  • EXCEL编程VBA高级教程

    2015-04-16 11:40:55
    目录 一、VBA语言基础...................................................................................................................1 第一节标识符.....................................................

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

vb里面print