找回密码
 立即注册
搜索
查看: 7217|回复: 29

今天和朋友学了会儿Excel,折腾到2点半..

[复制链接]
发表于 2014-6-20 02:58 | 显示全部楼层 |阅读模式
本帖最后由 differentrain 于 2014-6-20 16:05 编辑
( K/ P; g% Z! l- d$ c- O( T
& `3 u3 C6 _$ w0 K, K不怎么用Office系列,今天偶然和朋友聊起来,突发奇想用Excel做了个扫雷的修改器....[em1127]# {; L  X7 i0 U7 h( e
虽然不会Excel,不过VB咱小时候还是学过的...[em1124]
$ ~1 N4 _4 s" r/ z3 j& b$ \% E5 P1 G( w
我用的Win7的扫雷,其他版本的估计不行..可以停止计时和在表格中现实地雷位置...
8 d0 H. _1 B1 F) f0 r; p附件就是那个表格...如果版本不对就直接看代码部分自己复制过去也行..& u& y$ \9 P/ A0 z/ B% s
顺便说,VBA简直反人类..MS为什么不出VBA.NET啊...大段的代码要自己写,而且抽象性巨差....2 p2 R: }" y0 D! @- D2 _/ s

# P6 o2 a0 U+ H( S- O" i MineSweeperTrainer.rar (22.27 KB, 下载次数: 6) 5 j7 y1 I/ N5 }

4 N( [" u4 {5 D8 ^  y 1.jpg
% j2 `' `/ _% {) B0 M. {
: Y, B# Q' ]1 e( J$ S. _+ S2 a. K5 W3 y, w9 E7 w, r; y
  1. 【控件】
      }8 t  J# z( r* _+ k/ _7 {

  2. ' n+ j- R5 `% O7 G% M' I8 ~5 |
  3. 窗体:frmMain
    ( d7 v, o7 B) |. q; G5 H
  4. 按钮:btnCatchGame,btnRefresh& Q$ m& ^; W6 `. T
  5. 选择框:chkGameTime
复制代码
' n9 E$ Z, S: b5 N+ u( K( m" N
9 y$ C# h, \/ Y+ n
& b0 b  R: N: H" h% k6 {* f( e% K. G

7 n& K- t: F- `
  1. 【代码】( U& w* f4 ]0 b$ I' x) _) j+ f& v
  2. 3 T- r' [9 r" ^4 e

  3. % ]8 W9 z. C& J7 I6 u% D- @
  4. Option Explicit- V" `- R# ?9 p1 |& H. e8 o
  5. - h5 f7 [' u2 C4 g; t) ^
  6. : k- o- r% V  X) Z4 t
  7. Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long6 ?& X$ x) B6 E
  8. Private Declare Function module32First Lib "kernel32" Alias "Module32First" (ByVal hSnapShot As Long, lppe As moduleENTRY32) As Long
    ' w. t1 R, W1 l% K& X: I; ?
  9. Private Declare Function module32Next Lib "kernel32" Alias "Module32Next" (ByVal hSnapShot As Long, lppe As moduleENTRY32) As Long
    ( ~0 r: W$ D: D9 ?) y$ a8 n2 e
  10. Private Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long2 }1 g7 y# I! a9 P) ^, \5 m) a3 X
  11. Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long9 z! m$ C9 _) C0 f1 C( G
  12. Private Declare Function lstrcmpi Lib "kernel32" Alias "lstrcmpiA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
    # O: V' R. q9 w$ {

  13. 9 _3 G$ W8 a% t) s: u

  14. ( t  Y3 y- K- C" T5 m+ X( I; Q3 Z
  15. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    6 |2 a( N: i! k5 {! }0 m
  16. Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long7 p) N2 W3 M+ x6 f8 x
  17. Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
    9 n5 I: O+ y3 B, S: e
  18. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long7 }3 Y; ]* [2 O  W! _% |

  19. ( `: J% F: o2 ?$ {; r" s3 [0 A

  20. & j' `7 }. \% b* C
  21. Private Const TH32CS_SNAPPROCESS = &H2
    - W9 T2 g% l- V6 Q1 d( Z3 A; E6 M
  22. Private Const TH32CS_SNAPmodule = &H8
    & H! U( {' \+ g& e% t" k8 {$ q; H
  23. Private Const CB_SHOWDROPDOWN = &H157
    " T& K  S& z$ Y: w
  24. Private Type moduleENTRY32
    0 `* N- {" ]% g, b
  25.     dwSize As Long, K# L( R% \$ z& {5 }
  26.     th32ModuleID As Long
    ) T; ?- \: U* a- k2 C
  27.     th32ProcessID As Long
    # _% [- H" q; D4 v' o7 F* y
  28.     GlblcntUsage As Long# r" F* k1 \- O& Y2 R" l
  29.     ProccntUsage As Long2 {9 R0 t1 U& L. m' }5 A. t. L
  30.     modBaseAddr As Long$ J- J' `' S" y. q. E+ A1 v) |
  31.     modBaseSize As Long* v) E+ y* ~5 d8 D& V! y* i( e
  32.     hModule As Long3 G1 J6 D8 ?, t" O; I7 s
  33.     szModule As String * 256
    2 |1 ^( D$ S) U# ]) l7 z  {3 O0 \- B% f
  34.     szExePath As String * 1024
    & _2 Q5 m( b& l  Y7 }& F
  35. End Type! x) A6 u  c$ y# D8 V# `( w, ~! t
  36. ' E2 v/ e/ b  P" c4 C
  37. Private Type PROCESSENTRY32
      _9 x$ ]( F! [& R6 t
  38.     dwSize As Long9 m- R; O4 M: n# s- [4 t
  39.     cntUsage As Long, ^7 p6 r1 \6 `4 U& p' a
  40.     th32ProcessID As Long, m! }7 k, ]+ K1 }; m
  41.     th32DefaultHeapID As Long6 H3 X/ ]! _/ Y1 d
  42.     th32ModuleID As Long1 K9 \  {0 _8 c# C( ]
  43.     cntThreads As Long8 j3 y9 b' e4 [; [2 i& I
  44.     th32ParentProcessID As Long( T, r8 z1 e; K1 G% X9 ]- @* ?9 Z; W
  45.     pcPriClassBase As Long4 P# q4 q' P% J9 k6 s3 w- f
  46.     dwFlags As Long) I, c; s5 t& d9 S' x5 @; P
  47.     szExeFile As String * 10245 ~* Z. j4 d) a& Y
  48. End Type! P$ h3 F  W9 t; i

  49. ( x0 [( \& P6 q5 ]7 m* v& }( \

  50. / {' R8 `& C7 P! J5 Z

  51. 6 ~, K8 e# S- i3 j/ I- `7 J
  52. Private Const PROCESS_ALL_ACCESS = &H1F0FFF; J* W, U) Q$ d: u
  53. Private hProcess As Long
    / c# \! _5 D& |2 ?: x; @8 O
  54. Private PID As Long$ k+ g1 @) Y5 K, q: L

  55. ) [* V8 a) N( R. T* `

  56. ' H9 B( ^, r% b- S3 p0 M3 X
  57. Private Type asmNum
    : n8 R. o5 Z( u: `5 T% x9 X6 F4 Z3 S; Z
  58.     nuM1 As Byte6 W1 l! V6 V3 X- v2 t4 p  Z0 `
  59.     nuM2 As Byte
    8 R& O. @5 s. t
  60.     nuM3 As Byte" G1 V# E5 Y% l1 G$ n: {
  61. End Type8 S2 C7 O0 L) M' s
  62. + j9 u1 @$ Q5 U' S
  63. Private adrTime As Long
    / h2 \5 C- w5 s  R
  64. Private adrMine As Long$ v5 ~2 N/ ]/ K4 I+ G

  65. ! g- e, ?# o) L5 C2 m3 C
  66. Private Function GetProcIdByName(ByVal ProcName As String) As Long
    " {: T. j4 s5 y4 D
  67.     Dim PE32 As PROCESSENTRY32
    ( x# T& c, O6 h7 P; P& g6 u! Z
  68.     Dim Procid As Long1 v/ \8 j& E9 K# |# U( s
  69.     Dim hSnapShot As Long8 X8 g/ k# v8 I" q. {# P/ |! ~
  70.     hSnapShot = CreateToolhelp32Snapshot(ByVal TH32CS_SNAPPROCESS, ByVal 0)
    " d4 ~/ l" J$ w  e8 G. c
  71.     PE32.dwSize = LenB(PE32)
    0 J- l5 w7 i4 q5 y, i3 P
  72.     Process32First hSnapShot, PE32! X8 R5 q9 P* N
  73.     Do& P4 W1 r* u6 Z0 J# }
  74.         If lstrcmpi(Trim$(ProcName), Trim$(PE32.szExeFile)) = 0 Then
    & a8 i1 K$ h2 p
  75.             Procid = PE32.th32ProcessID
    ( Y, `* G3 s" k* @- N
  76.             Exit Do
    : \  q  l& D+ {3 C! h
  77.         End If  T& e7 O4 }+ l7 ~  ]
  78.         PE32.szExeFile = vbNullString
    8 b) ]' g9 E# c& J" z0 p
  79.     Loop Until Process32Next(hSnapShot, PE32) = 0  O4 m' E( d# l3 J, f& r* a' s, r
  80.     CloseHandle hSnapShot3 r* K  e5 X1 O
  81.         GetProcIdByName = Procid" J5 a0 I% c: K: y
  82. End Function7 f( K) ~0 @$ g- b# F
  83. * P6 V9 l" p+ y) y0 W9 m

  84.   |/ T9 z" {7 }. K  \! O/ o
  85. / p- m, t/ c: Q/ h
  86. Private Function GetModuleBaseByProcName(ByVal ModuleName As String) As Long) C. P! `  s+ Z1 t" J
  87. $ }5 T. T4 r8 g9 y7 _- `% n
  88.     Dim ME32 As moduleENTRY32, ModuleBase As Long
    " D* B3 p. d! \/ b1 ~' p% o1 u
  89.     Dim hSnapShot As Long5 b- U) M- g# P, u
  90.     hSnapShot = CreateToolhelp32Snapshot(ByVal TH32CS_SNAPmodule, ByVal PID)2 E: E7 R9 {1 a
  91.     ME32.dwSize = LenB(ME32)+ ~1 R' Y+ L1 {$ Z0 Q" B9 G4 h
  92.     module32First hSnapShot, ME32; Q! ^- f' G; V) W4 h3 q! V( B
  93.    
    1 w* R7 H0 T; ]' H% a5 V
  94.     Do5 v/ Z) e! V0 c2 x; x5 U) M& A
  95.    
    6 N+ t" A! b9 \! @3 V" `9 O
  96.         If lstrcmpi(Trim$(ModuleName), Trim$(ME32.szModule)) = 0 Then7 ?8 x7 q4 V. L# [* r$ P
  97.             ModuleBase = ME32.modBaseAddr0 T4 s" I8 L6 \) |
  98.             Exit Do
    6 `" i. A8 y7 T* Z$ ]/ z0 T: j
  99.         End If
    5 M2 N$ ?7 u# y+ z$ P. R/ k" k
  100.         
    4 N8 r4 [: d( B# A
  101.         ME32.szModule = vbNullString
    % f) k; Q3 U2 w8 q9 L4 N
  102.    
    2 _  y' ^3 U# N* \0 {  H
  103.     Loop Until module32Next(hSnapShot, ME32) = 0
    ; H* \& `% n* s5 d, r2 S3 Z4 L. _/ b$ W
  104.     CloseHandle hSnapShot
    3 v2 J; n8 C4 n. I
  105.     GetModuleBaseByProcName = ModuleBase, S! i! Q- J# j! y; ?7 w
  106. & U! ^  l/ u5 X. _* u) z
  107. End Function
    # H' e( i3 l8 U
  108. 3 h* q  x( y. u! P" E! D9 O! Q

  109. , V6 ~1 z6 M. i: P9 J% A7 d+ Z
  110. Private Function GetMemory(ByVal Adderss As Long, Optional Length As Byte = 4) As Long
    2 e& V* _% O# w7 l2 r
  111. ReadProcessMemory hProcess, Adderss, GetMemory, Length, 0
    " }, ?- K+ [; i1 W  B1 s
  112. End Function& ~/ \8 ]4 G4 z
  113. Private Sub SetMemoryAsm(ByVal Adderss As Long, NumVal As asmNum)6 y  V" C7 S4 Z, c' z: Y
  114. WriteProcessMemory hProcess, Adderss, NumVal, 3, 0
    1 e, T4 I- y0 b; [4 o, P0 G/ Q: d
  115. End Sub
    3 X6 t7 z# d+ k  g
  116. 0 i" r( n; m5 O
  117. ( o2 u* a+ u) o5 E
  118. Private Function FindGame() As Boolean7 c3 |/ c+ x5 F0 d6 M% C" L3 r( C
  119.     + P6 ~" B: v) i8 r  }5 o
  120.     PID = GetProcIdByName("MineSweeper.exe")% j  F# F! h" I
  121.    
    2 A& E0 [  n% O4 O
  122.     Select Case PID
    3 W' n& l$ W  B
  123.         Case 0
    , V2 U  B1 O- k$ F
  124.             FindGame = False
    8 m8 o, F1 @4 s
  125.         Case Else
    ' \! B8 r: F' [' Q& o. w1 M
  126.             Dim adrBase As Long
    8 H6 n6 h: W2 E/ Y6 N- k8 g: `
  127.             adrBase = GetModuleBaseByProcName("MineSweeper.exe")1 W+ Q6 S" O' o) `6 C4 }/ y- q1 ]
  128.             adrTime = adrBase + &H21446: V4 u- s* x& [8 m1 q
  129.             adrMine = adrBase + &H868B4% ^. M; e) C2 y2 H- q6 `7 F
  130.             FindGame = True
    5 b, g: y2 {7 j! C% v( L% R
  131.     End Select
    6 E, V( C0 I- K
  132. End Function
    / A7 f9 n1 S3 i8 [
  133. * D1 f! U( L' n+ E: h- D1 n
  134. Private Sub TrainerState(ByVal State As Boolean): U& }6 V( w- i
  135.     chkGameTime.Enabled = State
    3 d6 N3 m! [) d6 Z: y) ]! B
  136.     btnRefresh.Enabled = State4 U- Q+ y7 ^' y3 P
  137.     Select Case State% \, |; t9 C# Z% t" Q2 y, ?' [+ \
  138.         Case True7 b/ @4 Q, D% H% `& g/ {
  139.             btnCatchGame.Caption = "ReleaseGame"+ L7 H7 g- o3 Q. T, M
  140.         Case False0 c; x" I6 s1 t, B/ \
  141.             btnCatchGame.Caption = "CatchGame"
    9 n; b6 o, d: D2 r
  142.             chkGameTime.Value = False" e* S6 \# r3 Y. h0 k- @0 T
  143.     End Select% k+ S0 w  z: _! \3 ^4 Q
  144. End Sub' I5 w( {/ w) U
  145. : n5 |; A8 [  N* Y) F3 E' z
  146. . K6 Y& o0 v( E7 m& |  {
  147. Private Sub AsmState(ByVal State As Boolean)
    $ \9 B' l, [8 D( L2 M
  148.     Dim asm As asmNum
    1 w- x, z- u$ d
  149.     Select Case State
    . Y; h8 f4 H' @0 }7 }" A
  150.         Case True' F& L. F8 |' v8 o# r/ b5 j
  151.             asm.nuM1 = &H90' w$ f. X4 v$ ~8 K2 \* k/ \# v  o9 ]
  152.             asm.nuM2 = &H903 ]1 ]( c3 L5 U' @% t% m; K# \
  153.             asm.nuM3 = &H900 z6 [+ v2 O1 F* S  ]
  154.         Case False) k: X7 @8 W! y. r
  155.             asm.nuM1 = &HD9: [0 |& g  ^  Y3 O8 I8 u' q. v
  156.             asm.nuM2 = &H58% ]/ J7 ^1 x! A: x- W
  157.             asm.nuM3 = &H1C1 d) L$ b  Z4 i# f& m
  158.     End Select
    # f, i2 o$ M: V- ^+ B# g: o8 V; H
  159.     Call SetMemoryAsm(adrTime, asm)9 g, L$ J! U6 m8 I' I, V
  160. End Sub; f/ J/ s5 m5 ]% `. G' z

  161. 5 A0 \, O- p2 U. o* |9 g
  162. 9 r  Q' j9 s: _$ K. j
  163. Private Sub chkGameTime_Click()* B1 x: u2 C# S4 @+ ]1 }2 `
  164.    AsmState (chkGameTime.Value): t" J: W  M: @8 g5 D# L
  165. End Sub# ?  u9 ?9 t# T6 u$ |

  166. & {' G3 J1 A3 i+ P. n- W; G5 O  n
  167. , t! ~9 Q. Z0 F, A  ?
  168. Private Sub isOpen(ByVal State As Boolean)
    % F$ B# d7 B; C% u; N; d
  169.         Select Case State( v7 r5 r; `8 s! f6 G
  170.         Case True
    8 e- R3 j$ r. h- g0 `0 ~: j; o
  171.             If FindGame = True Then
    1 @3 a- @' }9 e0 P
  172.                 hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PID)- N7 @& k" O7 j6 d. \
  173.                 TrainerState (True)
    . L8 Q" _5 W' m$ u2 j
  174.             End If
    7 P2 `) Q* n5 Q( S. z; u; K- g$ F% K
  175.         Case False( H) \8 q. B: ~
  176.             If FindGame = True Then
    0 u  ~$ g( a8 i6 d
  177.                AsmState (False)
    % P7 ]6 S) ], G1 D: D: X' D
  178.                CloseHandle hProcess
    " }) G* N' ^' ^! m, z
  179.             End If
    . n- u# d5 B8 Q) o/ f
  180.     End Select! {( B9 @2 v( o# E. {& v" J3 g+ H7 p
  181. End Sub
    1 L- e/ c! q3 z: s  Y
  182. 4 D6 a* F0 ]5 n% B

  183. , e0 t+ B$ h" |7 F
  184. Private Sub btnCatchGame_Click()* |6 O- W! q( m9 v. q
  185.     Select Case btnCatchGame.Caption$ _( F1 K# J  y5 f  \3 u' \
  186.         Case "CatchGame"1 E. a" ]1 M: d% Y. j- g0 F
  187.             isOpen (True)7 g. W/ p% f' n) [0 k3 [
  188.         Case "ReleaseGame"! O3 Q3 F! u& H  `# o# \% R3 m: L
  189.             isOpen (False)6 [% ^5 U( _2 g& `
  190.             TrainerState (False)
    ( m- Y5 o3 ?& }* A  t6 Q6 b) ^
  191.     End Select
    : i$ G7 g. n" J( O" h* v- U
  192. End Sub$ e* x* o( X3 V0 T) c+ k; ]& U2 k1 d& x
  193. 9 Z/ i# H3 Y) c9 O7 F% f* H( L" w
  194. Private Sub btnRefresh_Click()
    8 l# ]0 y" K& q0 B7 }
  195. + C3 t. m+ C  z6 r7 {3 Z0 m
  196.     Dim mineColumn As Byte, mineLine As Byte
    & `( [6 ]5 @) A4 K1 Z) E7 ]: n
  197.     Dim adrPoint As Long, adrTemp As Long, adrColumn As Long; U; S$ z3 W, ]! m
  198.     Dim i As Byte, j As Byte
    , {3 B& C- z  G
  199. & n# j$ i3 T6 Q$ O3 L2 `* y$ F
  200.     & [$ L, \4 k+ x9 [* @& R. z
  201.    
    7 a1 P, t) n: O9 N& h
  202.     btnRefresh.Enabled = False$ I2 J8 a( p1 ?7 D5 K
  203.     1 }. `1 ^1 a( B8 W- J6 C6 s
  204.     adrTemp = GetMemory(adrMine)- T" Q- e" `+ O2 n3 D  A1 p
  205.     adrPoint = GetMemory(adrTemp + &H10)9 b. }" x2 b' |- {' x
  206.    
    1 Q4 B5 H  T2 E6 N( K
  207.     mineLine = GetMemory(adrPoint + &H8) - 14 ~& K8 C7 Y# P) V0 v
  208.     mineColumn = GetMemory(adrPoint + &HC) - 13 x' l9 C6 \6 o4 h# ], d
  209.     ) t; K$ Q! M! B( G# y5 a9 o
  210.     adrPoint = GetMemory(adrPoint + &H44). o# W. U7 k/ w6 s( A, D
  211.     adrPoint = GetMemory(adrPoint + &HC)
    / _- D1 f( m- C
  212.     & [# e* U8 W9 _( {% C( E; D' M
  213.     8 d/ u3 t3 J. Q* _% i, _4 {
  214.     5 X4 B0 G  P, v
  215.     For i = 0 To 30
    , A1 m7 V8 q. B0 `5 n4 J- t
  216.         adrColumn = GetMemory(adrPoint + i * 4)4 E. r# t- f9 i( E
  217.         adrColumn = GetMemory(adrColumn + &HC)
    ! W; Y: m+ ]) ?# }
  218.         For j = 0 To 23' q( H% C# D5 l- F/ u, i$ k
  219.             If i > mineColumn Or j > mineLine Then
    7 ^* T. W" `$ u, k$ }4 O3 u& e4 ]
  220.                 Sheet1.Cells(j + 1, i + 1) = ""( e$ e0 e3 U8 `1 M
  221.             Else
    7 B. v  @9 j. m% q* Z% Z% E$ o! c
  222.                 Sheet1.Cells(j + 1, i + 1) = GetMemory(adrColumn + j, 1)+ O& t/ Q. h7 S* a; s& E- a2 V
  223.             End If: _8 U9 p2 n8 h6 P' }# S
  224.         Next j# E* J5 m/ w# M- v7 I/ |+ L
  225.     Next i
    ( m# k0 u4 C9 R# [
  226.     btnRefresh.Enabled = True) t; @/ \7 y5 U$ v4 f
  227.    
    + d3 N2 t/ K" u8 i
  228.    
    0 R6 E9 @1 }5 C7 }" c$ P2 a0 a
  229. End Sub5 z: I5 h1 M2 p7 Q8 N* h- f
  230. : n( j( d7 e! ]) y. F
  231. Private Sub UserForm_Initialize()
    9 |& f/ t9 y9 @# Q& D2 I3 Q
  232.     TrainerState (False)
    * ^8 w$ m# N1 }# P0 }% Y
  233.     Sheet1.Cells(1, 2) = 13 [8 ]) \2 k7 T  ]6 [' g
  234. End Sub
    ' J+ O. k. h8 v; [  o) m) i! m

  235. * ]+ A- B  H% B5 h  ^
  236. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)) p  s! v0 ?& \( g, A$ \
  237.     isOpen (False): O  ]; \7 t, H" @9 E
  238. End Sub* o, X/ @! q4 e1 K
复制代码

4 `  R; ]- X6 N9 W; @% ?; R3 C8 G7 }. U) e0 o7 S0 O
: a( h4 H: Y# s2 V/ D- j

# f+ ^2 M. p9 O# `) ^& C9 w
发表于 2014-6-21 18:42 | 显示全部楼层
EXCEL2010盡頭.jpg
; j- b# M4 ]4 z/ P; V事實證明Excel是有盡頭的﹗(謎:你是閒到甚麼程度?﹗)  f: B0 G: Q+ `5 n' r
发表于 2014-6-20 12:29 | 显示全部楼层
excel在我們這裡是必學的…
发表于 2014-6-20 12:45 | 显示全部楼层
厉害还有源码,学习+ E) x% |5 y0 d4 S7 o
excel我只拿来做最简单的表格。。
发表于 2014-6-20 18:24 | 显示全部楼层
完全看不懂!!!!。。。
& G$ @+ i/ o6 t8 c* d' a8 M+ g( `$ f/ ]
不明觉厉只能跪
发表于 2014-6-20 18:49 | 显示全部楼层
尗又 发表于 2014-6-20 18:24
% B4 E$ h( t) z2 _完全看不懂!!!!。。。& {# j" w* L$ L7 {

# f3 z5 h3 r, I- m6 v2 I; l不明觉厉只能跪

; I8 x# [6 F- {- {# C' Z8 A- p這位很厲害噠﹗帶了修改器來報道﹗大慈姐姐很歡喜的樣子…* R0 W8 i# r, W# b, Z$ D  k" o6 g
发表于 2014-6-20 19:00 | 显示全部楼层
NataieChan 发表于 2014-6-20 18:49
! `% R# [$ B2 R* }3 V1 ?. v這位很厲害噠﹗帶了修改器來報道﹗大慈姐姐很歡喜的樣子…

6 E6 V( z0 P& e6 ]  y# z$ s* G- O哈哈那是,因为我对修改器的东西比较感兴趣啊
( g; c) ^. e  e0 K) C
发表于 2014-6-20 20:32 | 显示全部楼层
止慈 发表于 2014-6-20 19:00
+ s* u; b7 e+ Z  t6 F哈哈那是,因为我对修改器的东西比较感兴趣啊

- S5 {1 j& x4 a  W9 t莫非你勤制修改器的目的是因為懶得自己去玩…
! J/ U7 y+ L6 v5 Z% R+ e
发表于 2014-6-20 20:57 | 显示全部楼层
NataieChan 发表于 2014-6-20 20:32* M' c' u3 F# H, D1 K
莫非你勤制修改器的目的是因為懶得自己去玩…

! M/ P+ \8 S5 C4 `, u2 k! u不算勤,不过目的确实是为了省事。自己在玩的时候发现很多不合理的地方,比如说接通告,我要一家家转3D、跑进场景、走一段路、去点制作人、看目前有什么通告——这里还只是看到目前有什么通告,还不一定想接,也不一定能接,或者现在就能接。玩得烦了就自己琢磨减少一下流程,毕竟游戏是要有乐趣,但鼠标点多了也太繁琐。5 k9 Q$ I2 \2 j. {
而且我玩游戏是修改派,不修改无乐趣。。
: q" U1 ^1 ?4 d. e/ S
# H' N- _  H5 _4 e+ k$ M. E有点跑题了。。再回到excel上,小N你们学校里都学用excel做什么?我会的只有最基本的表格和加加减减求和比较之类的。。
  o1 O% P( w* s! J( n
$ m$ ^2 t) F1 P  v. [再想起来,我因为需要,想过用excel设计一个东西,大概也是存一定数据然后按自己需求可以随机提取之类的,搜到一篇文章还提供了源码的,结果源码链接无效了。。
4 {! c* H% W$ k* d( ~( d' u% E) h- a, B' Q' Y9 a
' f* m' l0 O6 }# g2 a5 Q8 V

% ^0 J/ E! u+ I4 y' ^止慈 于 2014-6-20 21:12:09 补充以下内容
& y- b4 z9 M7 y  z& w8 u. ^/ p& T. Z: E" v8 U
求指教。。打开附件excel,启用宏以后,那个窗体怎么出现。。我编辑宏能看到源代码,excel不会那么多不知道怎么让那个窗体出现。。' w$ A* C/ i4 m1 u( r+ I* {9 D7 O

0 m  j% E8 r: _3 e( b  [! E+ v9 U在我这里
) o" M$ B9 G1 R
  1. mineLine = GetMemory(adrPoint + &H8) - 1
复制代码
8 o3 b5 u- M9 ?5 Z- @1 A
会溢出
7 {4 z* ^0 i5 U  l) o
1 x2 |5 F  w6 u, V$ `  n不过没关系,只是做着玩玩的,不用修~我是试着运行了一下然后出了这个错误,就顺便说一下$ v: T5 x2 j8 s' J% d

) e* c, t  B" c1 v/ \; z3 q' V/ @" u: x1 E$ \6 m
发表于 2014-6-20 21:15 | 显示全部楼层
止慈 发表于 2014-6-20 20:57
! r) c5 W- C( R! g. \" l. w不算勤,不过目的确实是为了省事。自己在玩的时候发现很多不合理的地方,比如说接通告,我要一家家转3D、 ...
# j  ]& U1 L2 u/ r
做各種奇怪的東西…說起都是淚…最討厭排名…很麻煩…& ~- D0 U. W# n) E6 @
4 B$ r4 U6 ~# `
, M& e4 h0 Y3 V
NataieChan 于 2014-6-20 21:19:08 补充以下内容
" c; L/ k7 H! Z0 p' j# |  j6 P& U" n; b* C1 l7 d
做各種的圖…
发表于 2014-6-20 21:23 | 显示全部楼层
NataieChan 发表于 2014-6-20 21:15/ Z5 _5 Z+ O6 h4 I5 w
做各種奇怪的東西…說起都是淚…最討厭排名…很麻煩…

! q2 |9 V% Y) x- L* g( r[strike]做什么奇怪的东西说出来让我们乐一乐[/strike]9 s5 d  _4 g1 }7 i

3 I4 j$ L/ w% f9 u% Q' x( u排名还好啊,不过也许你们的是比较复杂的排名,那就麻烦点吧。。; _) E9 X: x4 F! |2 @( x) q3 o
* U! r; e4 C0 R  X7 d& m. E, D0 z
以下是编辑:
5 Z6 d1 ~, ^  n0 T6 v! Y: F5 `% S, F; Z% d
刚刚没看到你补充的。做各种的图的话确实比较麻烦。。7 G. S* N7 C0 O% |* K
1. 严禁讨论盗版
2. 除专门水区以外(报道/JQ版)请您注意要减少水分哦。水区热烈欢迎以下内容:灌水,版聊,勾搭,抢沙发
3. 更多发言规定在这里
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明志略 |明志略已经运行了20年9个月24天

GMT+8, 2024-12-22 12:17

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表