ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[¤À¨É] Ãö©óVB6(or VSTO)»s§@Excel DLL¬ÛÃö§Þ¥©

[¤À¨É] Ãö©óVB6(or VSTO)»s§@Excel DLL¬ÛÃö§Þ¥©

¥»©«³Ì«á¥Ñ HUNGCHILIN ©ó 2012-2-25 00:02 ½s¿è

³Ìªñ¬ðµMı±oµL²á¤F°_¨Ó¡A´£¤£°_«l¡C¥i¯à¬O¨ì¤F¤S­n´M§ä¤è¦V¬ð¯}ªº®É­Ô
¥Ø«eÀ³¸Ó¦³¨â­Ó¤è¦V¥h¸ÕÁå»PÀ³¥Î
1.2010ª©¥\¯àÀ³¥Î
2.VB(or VSTO)»s§@Excel DLL¬ÛÃö§Þ¥©

¥»¤å¦b©ó¸ÕÁå»P°O¿ýVB(or VSTO)»s§@Excel DLL¬ÛÃö§Þ¥©
¥H¤U¥ý¤¶²ÐVB6»s§@ActiveX DLL©Î¼W¯q¥\¯à...µ¥Â¤èªk¡A¦A¤¶²ÐVSTO¤èªk

¥»©«³Ì«á¥Ñ HUNGCHILIN ©ó 2012-2-25 02:32 ½s¿è

Ãö©ó ¦w¸Ë dll


¨Ï¥ÎvbsÀɦw¸Ëdll(°²³]¦w¸Ë ULCase.dll)
  1.¦btxtÀɤº¿é¤J
     RegSvr32.exe ULCase.dll
  2.§ïÀɦW¬°.BAT¡A§Y§¹¦¨¦w¸ËÀÉ

¨Ï¥ÎvbsÀɨø¸üdll(°²³]¨ø¸ü ULCase.dll)
  1.¦btxtÀɤº¿é¤J
     RegSvr32.exe ULCase.dll / U
  2.§ïÀɦW¬°.BAT¡A§Y§¹¦¨¦w¸ËÀÉ

¦w¸Ë¨ø¸üBAT.rar (189 Bytes)

TOP

¥»©«³Ì«á¥Ñ HUNGCHILIN ©ó 2012-2-28 23:24 ½s¿è

Ãö©ó ¦p¦ó»s§@²Ä¤@­ÓDLLÀÉ


a.§Ú­Ì¨Ï¥Î­^¤å¤j¤p¼gÂà´«.XLA ¼W¯q¶° ¨Ó§@§ï½s
¤j¤p¼gÂà´«.rar (20.97 KB)
excel­ì©lµ{¦¡½X
  1. Option Explicit
  2. Sub ­º¦r¤j¼gÂà´«()
  3. On Error GoTo 1
  4. Dim RANGECOUNT
  5. Dim RANGECOUNTA
  6. Application.ScreenUpdating = False
  7. For Each RANGECOUNT In Selection
  8. RANGECOUNTA = RANGECOUNTA + 1
  9. If Range(Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
  10. Range(Selection.Address).Cells(RANGECOUNTA) = WorksheetFunction.Proper(Range(Selection.Address).Cells(RANGECOUNTA))
  11. 2 Next
  12. 1 End Sub
  13. Sub ¤j¼gÂà´«()
  14. On Error GoTo 1
  15. Dim RANGECOUNT
  16. Dim RANGECOUNTA
  17. Application.ScreenUpdating = False
  18. For Each RANGECOUNT In Selection
  19. RANGECOUNTA = RANGECOUNTA + 1
  20. If Range(Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
  21. Range(Selection.Address).Cells(RANGECOUNTA) = UCase(Range(Selection.Address).Cells(RANGECOUNTA))
  22. 2 Next
  23. 1 End Sub
  24. Sub ¤p¼gÂà´«()
  25. On Error GoTo 1
  26. Dim RANGECOUNT
  27. Dim RANGECOUNTA
  28. Application.ScreenUpdating = False
  29. For Each RANGECOUNT In Selection
  30. RANGECOUNTA = RANGECOUNTA + 1
  31. If Range(Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
  32. Range(Selection.Address).Cells(RANGECOUNTA) = LCase(Range(Selection.Address).Cells(RANGECOUNTA))
  33. 2 Next
  34. 1 End Sub
½Æ»s¥N½X
----------------------------------------------------------------------------------------------------------------------------
b.¨Ï¥ÎVB6»s§@dll
  1.¥ýCOPY ­^¤å¤j¤p¼gÂà´«.XLA ¼W¯q¶° ¤º¼Ò²Õ¤ºªºµ{¦¡
  2.¶}±Òvb6


  3.§R°£¹w³]ªºªí³æ&·s¼W¤@­Óclass
     §ó§ïclass¦WºÙ¬°ULCASECLASS (°O¦íµ¥¤@¤U­n¥Î)
     ¨Ã§â­^¤å¤j¤p¼gÂà´«.XLA ¼W¯q¶° ¤º¼Ò²Õ¤ºªºµ{¦¡¶K¶iclass



§ó§ïclass¤ºªºµ{¦¡½X¬°
  1. Option Explicit
  2. Sub ULCase()
  3. On Error GoTo 1
  4. Dim EXL As Object
  5. Set EXL = GetObject(, "Excel.Application")
  6. With EXL
  7. Dim RANGECOUNT
  8. Dim RANGECOUNTA
  9. .ScreenUpdating = False
  10. For Each RANGECOUNT In .Selection
  11. RANGECOUNTA = RANGECOUNTA + 1
  12. If .Range(.Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
  13. .Range(.Selection.Address).Cells(RANGECOUNTA) = .WorksheetFunction.Proper(.Range(.Selection.Address).Cells(RANGECOUNTA))
  14. 2 Next
  15. End With
  16. Set EXL = Nothing
  17. 1 End Sub
  18. Sub UCaseA()
  19. On Error GoTo 1
  20. Dim EXL As Object
  21. Set EXL = GetObject(, "Excel.Application")
  22. With EXL
  23. Dim RANGECOUNT
  24. Dim RANGECOUNTA
  25. .ScreenUpdating = False
  26. For Each RANGECOUNT In .Selection
  27. RANGECOUNTA = RANGECOUNTA + 1
  28. If .Range(.Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
  29. .Range(.Selection.Address).Cells(RANGECOUNTA) = UCase(.Range(.Selection.Address).Cells(RANGECOUNTA))
  30. 2 Next
  31. End With
  32. Set EXL = Nothing
  33. 1 End Sub
  34. Sub LCaseA()
  35. On Error GoTo 1
  36. Dim EXL As Object
  37. Set EXL = GetObject(, "Excel.Application")
  38. With EXL
  39. Dim RANGECOUNT
  40. Dim RANGECOUNTA
  41. .ScreenUpdating = False
  42. For Each RANGECOUNT In .Selection
  43. RANGECOUNTA = RANGECOUNTA + 1
  44. If .Range(.Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
  45. .Range(.Selection.Address).Cells(RANGECOUNTA) = LCase(.Range(.Selection.Address).Cells(RANGECOUNTA))
  46. 2 Next
  47. End With
  48. Set EXL = Nothing
  49. 1 End Sub
½Æ»s¥N½X
4.ÂI³]­p®v¤¤ªºConnect¦p¹Ï¡A¶i¤J«á§ó§ïÀ³¥Îµ{¦¡¬°excel»PÀ³¥Îµ{¦¡ª©¥»°²³]¬°9.0¡A³]©w¸ü¤J¦æ¬°¬°None


5.ÂI³]­p®v¤¤ªºConnect«ö¥kÁä¿ïÀ˵øµ{¦¡½X§R°£¸Ì­±©Ò¦³µ{¦¡


6.¨ì±M®×³]©wÄݩʦp¤U¹Ï(½Ð°O±oÄÝ©Ê´y­z)


7.Àx¦s±M®×¦pªþÀÉ¡A¸Ì­±¦³¤@¨Ç¼È¦sÀÉ¥i¥H¤£¥Î²z·|
ULCasea.rar (10.09 KB)

8.»s¦¨DLLÀÉ ¦p¹Ï (¦pªGµ{¦¡¦³°ÝÃDVB·|°»¿ù)

¦¨«~: ULCase.rar (5.43 KB)

9.¦w¸ËDLLÀÉ¡A½Ð¤U¸ü²Ä¤G©« ¨ìDLL¦P¸ê®Æ§¨ ¨Ã«ö"¦w¸ËBATÀÉ"

10.Excel vba¦p¦ó¨Ï¥ÎDLL¤ºªºµ{¦¡
»Ý­n¦bExcel¼Ò²Õ¤º¿é¤J¤U¦Cµ{¦¡
  1. Public Sub aa()
  2. Dim XLSULCASE As New ULCASECLASS
  3. XLSULCASE.ULCase
  4. End Sub

  5. Public Sub bb()
  6. Dim XLSULCASE As New ULCASECLASS
  7. XLSULCASE.UCaseA
  8. End Sub

  9. Public Sub cc()
  10. Dim XLSULCASE As New ULCASECLASS
  11. XLSULCASE.LCaseA
  12. End Sub
½Æ»s¥N½X
ªþÀÉ: ¤j¤p¼gÂà´«¨Ï¥ÎDLL.rar (4.91 KB)
¨Ï¥Î¤W­z10­Ó¤p¨BÆJ§Y¥i§¹¦¨»s§@»P¨Ï¥ÎDLLµ{¦¡

TOP

§A¦n¡A¥ýÁÂÁ¤j¤j¤À¨É

§Ú¬OVB6·s¤â¡A¹Á¸Õ·ÓµÛ¤j¤jªº¨BÆJ°µ«Ê¸Ë¡A¦ý¥h¨ì¥H¤U¨BÆJ´N¤£À´¤F¡J

¥H¤U¬O§Ú¶}±ÒVB6«áªº±¡ªp¡A§ä¤£¨ì¡u³]­p®v¡v(¦p¤j¤jªº¹Ï)¡A½Ð°Ý«ç¼Ë°µ¤~¬Ý¨ì¡u³]­p®v¡v¤@¶µ©O¡HÁÂÁ½ç±Ð¡I



¤j¤jªº¹Ï¤ù¡J

TOP

¬Ý¨ìb 2¨BÆJ
¦³¿ï activex dll

TOP

[ª©¥DºÞ²z¯d¨¥]
  • HUNGCHILIN(2012-4-10 00:30): ³o­Óµe­±¬OVISTA+VB6ªºµe­± §Ú¤§«e¹q¸£Ãa¤F²{¦b¥Î WIN7 ÁÙ¨S´ú¹L ±ß¤@ÂI¦A´ú¬Ý¬Ý...·L³n¥i¯à·Q­n§Ú­Ì´«³nÅé¤F§a ¤§«e¬ÝVB6»PVSTO»s§@´N¦³¨Ç®t²§ ¬Ý¨ÓÁÙ¬O­nºÉ³t±Ë±óVB6¥[³t©¹VSTO¬°­n

¬Ý¨ìb 2¨BÆJ
¦³¿ï activex dll
HUNGCHILIN µoªí©ó 2012-4-9 22:16



    ¤w¿ï¤F Activex Dll¡A¿ï¤F«á¥u¥X²{§Ú¤W¤@¶Kªþ¹Ï®ÄªG¡C

¥t¥~¡A§Úªº¹q¸£¬O¥ÎWINDOW 7¡Aºô¤WÚ»¸ê®Æ¡A¦n¹³»¡VB6¥Î¦bWINDOW7¤W·|¥X°ÝÃD¡A¬O§_¯uªº³o¼Ë¡H

ÁÂÁÂ

TOP

°Ñ»P 6# sklo


    ¦b±M®×¦WºÙ Project1 «ö¥kÁä¡A¿ï¾Ü¥[¤J ADDIN CLASS §Y¥i¥H¦³ ³]­p®v AddInDessigner1¡F§â¥¦ªº¦WºÙ§ï¬° Connect¡F¥u¬Oªí®æ¤¤ªº "À³¥Îµ{¦¡(A)" ¥u¯à¦³ Default ­È "Visual Basic"¡F "À³¥Îµ{¦¡ª©¥»" ¤]¬O Default ­È "Visual Basic 6.0" ¡F©Ò¥Hª±¤£¤U¥h¡C
¦³½Ð¤j®v«üÂI°g¬z¡C

TOP

¨Ï¥Î VB6.0 ©Î 2008»s§@ .dll ¥i¥H³Q x86 EXCEL2010¨Ï¥Î¡F ¦ý¬O  x64 EXCEL 2010 «o¤£¯à¥Î ,¿ù»~429!! ¤£ª¾¬°¤°»ò¡C ¸Ì­±¨S¦³©úÅ㪺 Declare ¤Î Long ªºªFªF, 2008À³¬O x64ª©¥»¡C
ª¦¤å¤¤µo²{¦³¤H¥D±i¥Î 2008°µ Automation ¨ÓÅX°Ê EXCEL¡F³o­Ó¥»¥½©ö¦ì¤£¬O·Q­nªºªFªF

TOP

¯uªº¤£ªP§Ú来ª`册这个坛¤l¡C
Learning Office!

TOP

¦^´_ 5# HUNGCHILIN

¦³½Ð ¤j®v
    ¦b¤£¦Pªº¹q¸£¨Ï¥ÎVB6.0 °µ Dll¡Aµo²{ AddInDesigner ªºµøµ¡¤º: À³¥Îµ{¦¡(A)¡AÀ³¥Îµ{¦¡ª©¥»(V)  ¥i¥H°µ¿ï¾Ü
¦Ó¤§«e¦b¥t¤@¹q¸£«o¤£¯à !!! ¬Oµù¥Uªíªº°ÝÃDÁÙ¬O ???

ÁÂÁÂ¥ý

TOP

        ÀR«ä¦Û¦b : §ïÅܦۤv¬O¦Û±Ï¡A¼vÅT§O¤H¬O±Ï¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD