335 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			335 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| Public Sub mnuFileNew_click()
 | |
| 	If ChinaExcel.IsModified() Then '文档已经被更改
 | |
| 		rtn = MsgBox( "文档已被更改,是否保存?", vbExclamation Or vbYesNoCancel)
 | |
| 		If rtn = vbYes Then
 | |
| 			mnuFileSave_click
 | |
| 		ElseIf rtn = vbCancel Then
 | |
| 			Exit Sub
 | |
| 		End If
 | |
| 	End If
 | |
| 	ChinaExcel.SetMaxRows(0)
 | |
| 	ChinaExcel.SetMaxRows(18)
 | |
| 	ChinaExcel.SetMaxCols(8)
 | |
| 	ChinaExcel.FormProtect = false
 | |
| 	'menu_init
 | |
| End Sub
 | |
| 
 | |
| '超级链接
 | |
| Public Sub mnuEditHyperlink_click()
 | |
| 	strUrl = InputBox( "请输入超级链接地址:", "超级链接", "HTTP://" )
 | |
| 	ChinaExcel.SetCellURLType ChinaExcel.Row,ChinaExcel.Col,strUrl
 | |
| End Sub
 | |
| 
 | |
| '设置粗体
 | |
| Public Sub cmdBold_click()
 | |
| 	ChinaExcel.Bold = not ChinaExcel.Bold
 | |
| End Sub
 | |
| 
 | |
| '设置斜体
 | |
| Public Sub cmdItalic_click()
 | |
| 	ChinaExcel.Italic = not ChinaExcel.Italic
 | |
| End Sub
 | |
| 
 | |
| '设置下划线
 | |
| Public Sub cmdUnderline_click()
 | |
| 	ChinaExcel.Underline = not ChinaExcel.Underline
 | |
| End Sub
 | |
| 
 | |
| '设置背景色
 | |
| Public Sub cmdBackColor_click()
 | |
| 	ChinaExcel.OnSetCellBkColor
 | |
| End Sub
 | |
| 
 | |
| '设置前景色
 | |
| Public Sub cmdForeColor_click()
 | |
| 	ChinaExcel.OnSetTextColor
 | |
| End Sub
 | |
| 
 | |
| '自动折行
 | |
| Public Sub cmdWordWrap_click()
 | |
| 	ChinaExcel.AutoWrap = not ChinaExcel.AutoWrap
 | |
| 	nMenuID = MenuOcx.GetMenuID("AutoWrap")
 | |
| 	MenuOcx.SetMenuChecked nMenuID,ChinaExcel.AutoWrap
 | |
| End Sub
 | |
| 
 | |
| '居左对齐
 | |
| Public Sub cmdAlignLeft_click()
 | |
| 	ChinaExcel.HorzTextAlign = 1
 | |
| End Sub
 | |
| 
 | |
| '居中对齐
 | |
| Public Sub cmdAlignCenter_click()
 | |
| 	ChinaExcel.HorzTextAlign = 2
 | |
| End Sub
 | |
| 
 | |
| '居右对齐
 | |
| Public Sub cmdAlignRight_click()
 | |
| 	ChinaExcel.HorzTextAlign = 3
 | |
| End Sub
 | |
| 
 | |
| '居上对齐
 | |
| Public Sub cmdAlignTop_click()
 | |
| 	ChinaExcel.VertTextAlign = 1
 | |
| End Sub
 | |
| 
 | |
| '垂直居中对齐
 | |
| Public Sub cmdAlignMiddle_click()
 | |
| 	ChinaExcel.VertTextAlign = 2
 | |
| End Sub
 | |
| 
 | |
| '居下对齐
 | |
| Public Sub cmdAlignBottom_click()
 | |
| 	ChinaExcel.VertTextAlign = 3
 | |
| End Sub
 | |
| 
 | |
| '画边框线
 | |
| Public Sub cmdDrawBorder_click()
 | |
| 	With ChinaExcel
 | |
| 		.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 		.DrawCellBorder  StartRow, StartCol, EndRow, EndCol, BorderTypeSelect.value, 0,0
 | |
|         End With
 | |
| End Sub
 | |
| 
 | |
| '抹框线
 | |
| Public Sub cmdEraseBorder_click()
 | |
| 	With ChinaExcel
 | |
| 		.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 		.ClearCellBorder  StartRow, StartCol, EndRow, EndCol,0
 | |
|         End With
 | |
| End Sub
 | |
| 
 | |
| '货币符号
 | |
| Public Sub cmdCurrency_click()
 | |
| 	With ChinaExcel
 | |
| 		.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 		.SetCellDigitShowStyle StartRow, StartCol, EndRow, EndCol,2,2
 | |
|     End With
 | |
| End Sub
 | |
| 
 | |
| '百分号
 | |
| Public Sub cmdPercent_click()
 | |
| 	With ChinaExcel
 | |
| 		.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 		.SetCellDigitShowStyle StartRow, StartCol, EndRow, EndCol,4,2
 | |
| 	End With
 | |
| End Sub
 | |
| 
 | |
| '千分位
 | |
| Public Sub cmdThousand_click()
 | |
| 	With ChinaExcel
 | |
| 		.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 		.SetCellDigitShowStyle StartRow, StartCol, EndRow, EndCol,5,2
 | |
| 	End With
 | |
| End Sub
 | |
| 
 | |
| '关于超级报表插件
 | |
| Public Sub cmdAbout_click()
 | |
| 	ChinaExcel.AboutBox
 | |
| End Sub
 | |
| 
 | |
| '插入列
 | |
| Public Sub cmdInsertCol_click()
 | |
| 	ChinaExcel.OnInsertBeforeCol
 | |
| End Sub
 | |
| 
 | |
| '插入行
 | |
| Public Sub cmdInsertRow_click()
 | |
| 	ChinaExcel.OnInsertBeforeRow
 | |
| End Sub
 | |
| 
 | |
| '插入单元
 | |
| Public Sub cmdInsertCell_click()
 | |
| 	ChinaExcel.OnInsertCell
 | |
| End Sub
 | |
| 
 | |
| '删除单元
 | |
| Public Sub cmdDeleteCell_click()
 | |
| 	ChinaExcel.OnDeleteCell
 | |
| End Sub
 | |
| 
 | |
| '删除列
 | |
| Public Sub cmdDeleteCol_click()
 | |
| 	ChinaExcel.OnDeleteCol
 | |
| End Sub
 | |
| 
 | |
| '删除行
 | |
| Public Sub cmdDeleteRow_click()
 | |
| 	ChinaExcel.OnDeleteRow
 | |
| End Sub
 | |
| 
 | |
| 
 | |
| '水平求和
 | |
| Public Sub cmdFormulaSumH_click()
 | |
| 	With ChinaExcel
 | |
| 		StartCol = 0: StartRow = 0: EndCol = 0: EndRow = 0
 | |
| 		.GetSelectRegionWeb StartRow,StartCol,EndRow,EndCol
 | |
| 		.AutoSum StartRow,StartCol,EndRow,EndCol,2
 | |
| 	End With
 | |
| End Sub
 | |
| 
 | |
| '垂直求和
 | |
| Public Function InStrL(inString, srchString)
 | |
|                                     '此函数用于查询srchString子字串在父字串inString中的最后一个位置
 | |
|     If srchString = "" Then
 | |
|         InStrL = 0
 | |
|         Exit Function
 | |
|     End If
 | |
|     If Len(srchString) Then
 | |
|         Do
 | |
|             iLastPos = iCurPos
 | |
|             iCurPos = InStr(iCurPos + 1, inString, srchString, vbTextCompare)
 | |
|         Loop Until iCurPos = 0
 | |
|     End If
 | |
|     InStrL = iLastPos
 | |
| End Function
 | |
| 
 | |
| Public Function StrGetSinglePara(ByVal strCellPara, ByVal strCharacter)
 | |
|                     '传入单元参数strCellPara和特征字串strCharacter,函数可返回特征字串中的字符串值
 | |
| 
 | |
|     strChar1 = "<" & Trim(strCharacter) & ">"
 | |
|     strChar2 = "</" & Trim(strCharacter) & ">"
 | |
|     iStart = InStrL(strCellPara, strChar1)
 | |
|     iEnd = InStrL(strCellPara, strChar2)
 | |
|     If iStart > 0 And iEnd > iStart Then
 | |
|         iCharacterLen = Len(Trim(strCharacter)) + 2
 | |
|         iStart = iStart + iCharacterLen
 | |
|         StrGetSinglePara = Trim(Mid(strCellPara, iStart, iEnd - iStart))
 | |
|     Else
 | |
|         StrGetSinglePara = ""
 | |
|     End If
 | |
| End Function
 | |
| 
 | |
| Public Function GetCellDefineValue(ByVal nRow,ByVal nCol)
 | |
|     strCellPara = ChinaExcel.GetCellStatDefine(nRow, nCol)
 | |
|     If Trim(strCellPara) <> "" Then
 | |
|         strFldName = StrGetSinglePara(strCellPara, "fieldname")
 | |
|     else
 | |
|         strFldName=""
 | |
|     end if
 | |
|     GetCellDefineValue=strFldName
 | |
| End Function
 | |
| 
 | |
| Public Function GetCellColName(nRow, nCol)
 | |
|     strName = ChinaExcel.GetCellName(nRow,nCol)
 | |
|     strNameA=""
 | |
|     
 | |
|     for iCount=1 to Len(strName)
 | |
|         If Not IsNumeric(Mid(strName,iCount, 1)) Then
 | |
|             strNameA = strNameA & Mid(strName,iCount, 1)
 | |
|         else
 | |
|             exit for
 | |
|         End If
 | |
|     next
 | |
|     GetCellColName = strNameA
 | |
| End Function
 | |
| 
 | |
| 
 | |
| Public Sub cmdFormulaSumV_click()
 | |
| 	With ChinaExcel
 | |
| '		StartCol = 0: StartRow = 0: EndCol = 0: EndRow = 0
 | |
| '		.GetSelectRegionWeb StartRow,StartCol,EndRow,EndCol
 | |
| '		.AutoSum StartRow,StartCol,EndRow,EndCol,1
 | |
|         nRow=.Row
 | |
|         nCol=.Col
 | |
| '使用字段进行求和
 | |
| '        strValue=GetCellDefineValue(nRow,nCol)
 | |
| '        if strValue="" then
 | |
| '            msgbox "没有找到定义的字段名"
 | |
| '            exit sub
 | |
| '        end if
 | |
| '        .SetCellShowVal nRow+1,nCol,"=sum(@"+strValue+")"
 | |
| '使用公式求和
 | |
|         strValue=GetCellDefineValue(nRow,nCol)
 | |
|         if strValue="" then
 | |
|             msgbox "没有找到定义的字段名"
 | |
|             exit sub
 | |
|         end if
 | |
|         strValueA=GetCellColName(nRow,nCol)
 | |
|         if strValueA="" then
 | |
|             msgbox "获取列名错误"
 | |
|             exit sub
 | |
|         end if
 | |
|         qs=msgbox("列名求和选[YES],字段名求和选[NO]",vbYesNo + vbQuestion,"询问")
 | |
|         if qs=vbyes then
 | |
|             .SetCellShowVal nRow+1,nCol,"=sum(" & strValueA & nRow & ":" & strValueA & "0)"
 | |
|         else
 | |
|             .SetCellShowVal nRow+1,nCol,"=sum(@" & strValue & ")"
 | |
|         end if
 | |
| 	End With
 | |
| End Sub
 | |
| 
 | |
| '双向求和
 | |
| Public Sub cmdFormulaSumHV_click()
 | |
| 	With ChinaExcel
 | |
| 		StartCol = 0: StartRow = 0: EndCol = 0: EndRow = 0
 | |
| 		.GetSelectRegionWeb StartRow,StartCol,EndRow,EndCol
 | |
| 		.AutoSum StartRow,StartCol,EndRow,EndCol,3
 | |
| 	End With
 | |
| End Sub
 | |
| 
 | |
| 
 | |
| '图表向导
 | |
| Public Sub mnuDataWzdChart_click()
 | |
| 	ChinaExcel.OnChartWizard
 | |
| End Sub
 | |
| 
 | |
| '设置图片为原始大小
 | |
| Public Sub mnuSetCellImageOriginalSize_click()
 | |
| 	With ChinaExcel
 | |
| 		.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 		for row = StartRow to EndRow
 | |
| 			for col = StartCol to EndCol
 | |
| 				.SetCellImageSize row,col,1		
 | |
| 			next
 | |
| 		next
 | |
| 		.Refresh
 | |
| 	End With
 | |
| End Sub
 | |
| 
 | |
| '设置图片为单元大小
 | |
| Public Sub mnuSetCellImageCellSize_click()
 | |
| 	With ChinaExcel
 | |
| 		.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 		for row = StartRow to EndRow
 | |
| 			for col = StartCol to EndCol
 | |
| 				.SetCellImageSize row,col,0		
 | |
| 			next
 | |
| 		next
 | |
| 		.Refresh
 | |
| 	End With
 | |
| End Sub
 | |
| 
 | |
| '删除图片
 | |
| Public Sub mnuDeleteCellImage_click()
 | |
| 	ChinaExcel.GetSelectRegionWeb StartRow, StartCol, EndRow, EndCol
 | |
| 	ChinaExcel.DeleteCellImage StartRow, StartCol, EndRow, EndCol
 | |
| End Sub
 | |
| 
 | |
| '设置每页打印的行数
 | |
| Public Sub mnuSetOnePrintPageDetailZoneRows_click()
 | |
| 	nPageRows = ChinaExcel.GetOnePrintPageDetailZoneRows()
 | |
| 	nRow = InputBox( "说明:打印时每页显示的行数,不包括表头和表尾页脚、页前脚的行数(如果为0行,则表示没有设置每页打印的行数,系统按缺省进行分页)。 请输入每页打印的行数:", "设置每页打印的行数", nPageRows )
 | |
| 	If nRow <> "" Then ChinaExcel.SetOnePrintPageDetailZoneRows nRow
 | |
| End Sub
 | |
| 
 | |
| 
 | |
| '*****************************************************************
 | |
| '**********      下拉列表框中的事件
 | |
| '*****************************************************************
 | |
| '设置字体
 | |
| Public Sub changeFontName( ByVal value )
 | |
|     With ChinaExcel
 | |
|         lFontName = value
 | |
|         .CellFontName = lFontName
 | |
|     End With
 | |
| End Sub
 | |
| 
 | |
| '设置字号
 | |
| Public Sub changeFontSize( ByVal value )
 | |
|     With ChinaExcel
 | |
|         lFontSize = value
 | |
| 		.CellFontSize = lFontSize
 | |
|     End With
 | |
| 
 | |
| End Sub
 |