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

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

[复制链接]
发表于 2014-6-20 02:58 | 显示全部楼层 |阅读模式
本帖最后由 differentrain 于 2014-6-20 16:05 编辑
' X. A1 d0 h% S' F: L5 X( F% I+ z" U+ G
不怎么用Office系列,今天偶然和朋友聊起来,突发奇想用Excel做了个扫雷的修改器....[em1127]& U  j5 t- S/ e/ e2 M
虽然不会Excel,不过VB咱小时候还是学过的...[em1124]
6 \5 i  H( e* I1 t- D5 |1 M$ V5 u& q/ d/ z8 y1 ^6 U
我用的Win7的扫雷,其他版本的估计不行..可以停止计时和在表格中现实地雷位置...
7 n7 A9 s+ K2 _" Q* ~附件就是那个表格...如果版本不对就直接看代码部分自己复制过去也行..  D7 [1 ^" d0 b/ J/ [
顺便说,VBA简直反人类..MS为什么不出VBA.NET啊...大段的代码要自己写,而且抽象性巨差....
. y" ?4 O! B+ w" v
4 Y9 X9 ]. x+ ^- w/ I- V( L* T MineSweeperTrainer.rar (22.27 KB, 下载次数: 6) 9 y) {) ^/ v+ p9 ], Q9 |( H

4 r2 J( s0 a  V 1.jpg ' D  t/ g( J. h. T; o( [# |0 w
$ B; i& A' e2 J1 {

+ f0 y7 Y6 g, q1 F1 q
  1. 【控件】4 ^+ ^$ k% q7 R! f
  2.   ?( N  t. B8 u, O' t9 t
  3. 窗体:frmMain4 y- P, x* G& f' g& o$ c- i
  4. 按钮:btnCatchGame,btnRefresh
    , l7 A% c6 d  d9 T; z
  5. 选择框:chkGameTime
复制代码
) k' q. Z; `4 ~2 B- d0 R! N

$ _1 y1 }# F% e! s, B7 N3 E) i! R: a7 C! D

% i: S- v5 g4 P$ Y
  1. 【代码】
    ' D$ x0 R0 P; B. X6 J3 K

  2. 6 v5 ?6 q3 g( B# F: c2 I8 e
  3. 3 l$ _+ o& K8 D+ A; x) X
  4. Option Explicit
    3 K" R3 [* M# S, D+ w
  5. 6 B5 b' L8 F/ J& V, }6 H

  6. / l0 S* L  O  O' F  d( S2 w
  7. Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long4 r4 l3 \: S" B5 I
  8. Private Declare Function module32First Lib "kernel32" Alias "Module32First" (ByVal hSnapShot As Long, lppe As moduleENTRY32) As Long
    7 D  z* P4 ?6 J3 C8 P6 e
  9. Private Declare Function module32Next Lib "kernel32" Alias "Module32Next" (ByVal hSnapShot As Long, lppe As moduleENTRY32) As Long( Y  y& r- V, a' M: x
  10. Private Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long# U4 |" p* ?& G5 `, n0 N7 U! y
  11. Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, lppe As PROCESSENTRY32) As Long
      }* ~* Y0 [: j# p0 y- r
  12. Private Declare Function lstrcmpi Lib "kernel32" Alias "lstrcmpiA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long" M! v4 g/ z+ K) W% ~) i
  13. 5 D; J+ g7 X3 R1 J% C2 u
  14. 6 [- ~, O% z6 w7 `( @" a
  15. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long( n' e6 l( z, i% p! z
  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 Long. B% I' k1 |; i4 k/ I
  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: a9 c8 P" i- ]$ p$ O3 E* H, Z4 T) T
  18. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long( P/ K% q8 L2 g/ ^
  19.   a6 d1 Y" |! _) @, o" @0 V

  20. 8 w: U. E" i2 X2 w8 q5 {4 A
  21. Private Const TH32CS_SNAPPROCESS = &H2
    0 l! U1 p8 U- i+ G$ J, v. i
  22. Private Const TH32CS_SNAPmodule = &H84 k* t6 l* Y6 Y) E! Z
  23. Private Const CB_SHOWDROPDOWN = &H157
    4 _0 W0 `3 A6 y# Y
  24. Private Type moduleENTRY32
    : `, I3 `5 k; N
  25.     dwSize As Long
    ) z3 V# ^6 b1 g& [9 P9 b( O
  26.     th32ModuleID As Long3 x9 l; s* M. Y# o0 L7 C
  27.     th32ProcessID As Long
    0 G( g8 q/ p3 z
  28.     GlblcntUsage As Long
    5 _4 n9 Y2 }! p, Q7 G* G  }0 F
  29.     ProccntUsage As Long
      o0 t* [  i" L: A  T
  30.     modBaseAddr As Long
    & V: f' n3 O5 B
  31.     modBaseSize As Long# _. D, l7 r) A) l1 D" B5 n' ]
  32.     hModule As Long
      i* O8 `% w: V
  33.     szModule As String * 256
    6 A6 k- K0 p$ J* O6 z3 u; H& ]' U4 i
  34.     szExePath As String * 1024" y, F! I+ o9 k5 z: b; ~8 i
  35. End Type- b% ^1 y4 P; s% X9 W6 `

  36.   J& [/ n$ k  L" S$ Q
  37. Private Type PROCESSENTRY32! d0 }( n# {# q; M$ U
  38.     dwSize As Long
    8 o* B8 ]' t* @; A4 {6 g# Q/ @
  39.     cntUsage As Long. i' K6 g! @) |5 M  J
  40.     th32ProcessID As Long$ ~7 L( }8 e! {4 ~2 ]
  41.     th32DefaultHeapID As Long; `, }# }7 Y0 |7 j9 j3 s
  42.     th32ModuleID As Long
    - S$ |7 W0 G1 k; H$ B
  43.     cntThreads As Long7 K* u+ x6 D' T7 }
  44.     th32ParentProcessID As Long
    3 @" o: {; G/ d- n" \0 T
  45.     pcPriClassBase As Long& u/ w' i! Y  w% K
  46.     dwFlags As Long1 i7 T- @" w* l' Y/ b4 n; J* d( r9 |
  47.     szExeFile As String * 1024" F- O4 t/ V( Y
  48. End Type1 B: L* Y$ Y. p7 B

  49. 5 R8 S0 J3 S! E/ v4 Z. {
  50. - O# a1 h% S8 y5 b. R  q
  51. 9 G2 w1 ]" h9 C3 n0 P0 a
  52. Private Const PROCESS_ALL_ACCESS = &H1F0FFF1 S  D# A- j. A0 ~- ]
  53. Private hProcess As Long
    # Y, _, N9 M- h6 c7 J. _
  54. Private PID As Long
    9 B3 l# S' r5 r9 u. L- w! N8 o
  55. 9 X( Q" `9 ~# Q( p: d

  56.   @( m$ R9 z8 W- [8 Y% f; P* W& q
  57. Private Type asmNum
    - ^% @/ _# f1 V& T  t% ~7 s% R
  58.     nuM1 As Byte8 ^% {+ h$ Z5 b+ }" n# y& r+ J' d
  59.     nuM2 As Byte/ P  u! q$ I3 R: P
  60.     nuM3 As Byte9 I$ B- H1 V3 F$ j7 B7 u
  61. End Type' H" l4 e% x1 [. t) I3 E( v6 Q
  62. 1 S4 D" F% d! {
  63. Private adrTime As Long
    ; w4 u% h  E6 z- N! t
  64. Private adrMine As Long( s( f7 n0 u. m
  65. % ?, J% i& a! ^) Q0 D' w9 r
  66. Private Function GetProcIdByName(ByVal ProcName As String) As Long
    9 e: F. L5 b# K% {8 \) o
  67.     Dim PE32 As PROCESSENTRY32% `* g, P2 W* N2 P  l
  68.     Dim Procid As Long
    2 O2 D2 n0 y7 V" o& k0 Q9 i
  69.     Dim hSnapShot As Long
    5 Y5 @6 g3 ^% f" [$ @+ }6 d
  70.     hSnapShot = CreateToolhelp32Snapshot(ByVal TH32CS_SNAPPROCESS, ByVal 0)
    6 U9 X$ w" ]6 }4 ^
  71.     PE32.dwSize = LenB(PE32)
    9 ?2 A) ]( L% l
  72.     Process32First hSnapShot, PE32
    1 f8 T; K1 J, A  \: B$ f( h
  73.     Do
    ; K2 h9 I+ y. B% Y$ M
  74.         If lstrcmpi(Trim$(ProcName), Trim$(PE32.szExeFile)) = 0 Then
    ) V$ B- t" |" h, E
  75.             Procid = PE32.th32ProcessID1 Q3 C7 i3 {& j; \& ]9 ~; R* c$ c
  76.             Exit Do% P. v4 s. C& |
  77.         End If1 H$ y: U# {* t6 T4 t3 S+ L
  78.         PE32.szExeFile = vbNullString7 i0 u7 C/ _; k% ~* e1 |
  79.     Loop Until Process32Next(hSnapShot, PE32) = 0
    * I- \% D( f4 V, ?# u- R  X' B( ?
  80.     CloseHandle hSnapShot
    9 Z9 X. p2 N. b) t: L# F
  81.         GetProcIdByName = Procid- B, `: }6 M4 c0 o6 ?/ t
  82. End Function0 S$ J! U) m$ V6 X* {
  83. & J. w6 }3 _0 n. q: j' Q- b& Q- c8 I
  84. ; K3 T7 }0 A9 @8 i1 t

  85. ! h( a7 s- ]4 h: X6 Q5 y
  86. Private Function GetModuleBaseByProcName(ByVal ModuleName As String) As Long
    1 G# a4 ~- ]# J# f

  87. " l* \, W9 q: o: ?0 o! ]* ~6 f
  88.     Dim ME32 As moduleENTRY32, ModuleBase As Long4 O( @2 `$ v' Z
  89.     Dim hSnapShot As Long
    # ^; o7 E, [: v% G' c1 F
  90.     hSnapShot = CreateToolhelp32Snapshot(ByVal TH32CS_SNAPmodule, ByVal PID)
    / R. @/ h! O0 I* w7 a  O2 Q
  91.     ME32.dwSize = LenB(ME32)
    * t  t- L8 |' J4 w: n1 U* ?
  92.     module32First hSnapShot, ME32- z8 v% F. E- Q$ j6 Y1 F8 i
  93.     9 v  G2 W& V8 i1 N5 @
  94.     Do* u" r) M$ f0 h2 }" ^  Z/ z4 T+ K
  95.    
    " Z% A6 w" l6 k2 Z. N! g( p2 T5 d
  96.         If lstrcmpi(Trim$(ModuleName), Trim$(ME32.szModule)) = 0 Then
    ) X7 H* X( K$ f+ [+ j, X2 @
  97.             ModuleBase = ME32.modBaseAddr8 k/ m9 ^+ L7 t1 b
  98.             Exit Do; w3 s, q3 ^( o
  99.         End If
    7 n! f9 L7 X0 M7 Q: ^3 e4 \
  100.         1 R# K& ^4 ]& t; t
  101.         ME32.szModule = vbNullString
    6 @) T* k" R7 G0 J3 ^4 w1 x
  102.    
    0 k- }  B3 p/ R
  103.     Loop Until module32Next(hSnapShot, ME32) = 02 p0 ?, {3 `5 N( n+ V
  104.     CloseHandle hSnapShot
    1 z( |# H2 ^5 F7 K! Z- c
  105.     GetModuleBaseByProcName = ModuleBase
    6 D+ {  `: `$ G0 G6 C) F2 B9 `
  106. - x8 Y' S" D3 ^, Y& G* i. F
  107. End Function
    " P4 ]% V, V0 e7 w

  108. + |+ @. y7 s, I) C! C

  109. * J  O+ H" v0 C' E
  110. Private Function GetMemory(ByVal Adderss As Long, Optional Length As Byte = 4) As Long# |" d' t' f! a" q# M) `
  111. ReadProcessMemory hProcess, Adderss, GetMemory, Length, 0  {' ~5 l/ `/ g# b! K
  112. End Function
    ) a9 f. {( c4 Z5 U
  113. Private Sub SetMemoryAsm(ByVal Adderss As Long, NumVal As asmNum)
    1 Q4 C$ f$ z) H# O8 U" r
  114. WriteProcessMemory hProcess, Adderss, NumVal, 3, 0
    ' Y3 }: K! x+ \) ?
  115. End Sub/ u( u/ P( e$ ~+ b) l3 U7 c

  116. * m6 e7 j# F1 g2 g

  117. , T9 T% N8 r, A; p1 O
  118. Private Function FindGame() As Boolean6 t% F; c# C- o9 B
  119.     ) A5 H* F, |  a2 m
  120.     PID = GetProcIdByName("MineSweeper.exe")
    2 j# w* G8 j: ]
  121.    
    * U6 K' e/ b4 r8 G& g* H
  122.     Select Case PID& s" e$ T* R# @, z% }% w
  123.         Case 0: n9 B7 _7 r- C9 E7 z; a# [
  124.             FindGame = False0 b3 M) X2 ?) J8 W0 W4 M. D1 T
  125.         Case Else3 Y/ W% y' N+ y- k8 |$ z4 H
  126.             Dim adrBase As Long
    9 W# D+ P! [5 j" {9 D
  127.             adrBase = GetModuleBaseByProcName("MineSweeper.exe")+ O  t( K" k3 i4 ]  v
  128.             adrTime = adrBase + &H21446
      x3 }. ]5 \* M; o3 R
  129.             adrMine = adrBase + &H868B4% n7 r! I$ U$ w& H4 R/ ], v
  130.             FindGame = True
    8 ]) e" v9 h* G
  131.     End Select6 X2 q: D" ?! f) C) H0 t
  132. End Function
    9 O: d4 z) W( D0 q% c9 U. u

  133. ( r# B; w) w- q7 o0 I. w  D7 b
  134. Private Sub TrainerState(ByVal State As Boolean)( L1 }$ D7 S* X/ Z: p
  135.     chkGameTime.Enabled = State4 I4 [# G, R1 @# D& b2 v% {
  136.     btnRefresh.Enabled = State' R) \+ m9 L0 w& u. R+ {
  137.     Select Case State3 f# Z* s+ M# d) a2 z
  138.         Case True
    1 a+ L  ]0 N. b4 Y7 S3 T
  139.             btnCatchGame.Caption = "ReleaseGame", E& L( z! o6 v6 Y" `2 L: T
  140.         Case False& J4 M' K/ y' a$ @$ `
  141.             btnCatchGame.Caption = "CatchGame"5 z2 F$ u% v- N, O
  142.             chkGameTime.Value = False
    % J( l) V! m; h1 A' C5 Y3 K! N# [. L
  143.     End Select5 n+ w; X. T) z7 }/ l2 a, q
  144. End Sub+ i5 a4 f! K0 n: X
  145. 7 }' A! i/ {6 s! F# I

  146. 7 a& m9 N# \1 \' G1 Q
  147. Private Sub AsmState(ByVal State As Boolean)
    8 D0 O3 {3 T0 Q2 z+ e
  148.     Dim asm As asmNum& Y( B! X; T; M, j8 U
  149.     Select Case State
    7 Y* z5 A2 z# r. I. V) O8 U0 F
  150.         Case True8 v) S8 J9 s! f& O
  151.             asm.nuM1 = &H90
    8 E% y) o- }) L7 h/ F, S( ~
  152.             asm.nuM2 = &H90
    * _! {' A; \, L  E, o9 T
  153.             asm.nuM3 = &H904 U" h$ M7 ~$ \: f" t) W
  154.         Case False% E# E2 W, F# }" ^, t4 z
  155.             asm.nuM1 = &HD9
    ! X) I. b! j. M; y" O$ r' D: s' w/ V
  156.             asm.nuM2 = &H58
      E" Q( t/ t; w; L* C# X2 O" L
  157.             asm.nuM3 = &H1C& X7 p$ C/ |0 y3 {* P7 n; A
  158.     End Select' G& X" x7 y; v1 B4 J. ]7 c+ F* X
  159.     Call SetMemoryAsm(adrTime, asm)
    / R$ D  ]+ v* J5 h( i2 x0 _
  160. End Sub8 V, J/ u+ q; B+ S) @9 M/ k  D
  161. - T7 }/ H  J9 R3 G2 d' K% F
  162. / F) `, `4 y, k8 D9 n( }
  163. Private Sub chkGameTime_Click()
    6 G+ l* ~* q% n' z2 ^2 z
  164.    AsmState (chkGameTime.Value)& F- D( a  q6 v( P* K
  165. End Sub+ L1 t. f$ ]. S! l4 c, Y
  166. & ]8 [6 x( ~3 q$ r2 v

  167. 0 O3 \; u; u8 ~: P) B) E0 b6 h
  168. Private Sub isOpen(ByVal State As Boolean): U' |! O. |: N8 X9 T
  169.         Select Case State
      Q4 i( ^  G4 j2 [
  170.         Case True
    ; _4 x: e4 f4 j+ r" ^& t# M* r
  171.             If FindGame = True Then( V+ p2 K4 K- u9 v# U
  172.                 hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PID)5 b* ~! z$ _! O' V4 ~% E
  173.                 TrainerState (True); h' J0 J1 o% v: G( h2 t5 F
  174.             End If
    - k2 V" ^! ~: l
  175.         Case False
    ) y9 |2 ]  ^: e# y2 N( G
  176.             If FindGame = True Then
    ' U# m; x  l9 a7 o
  177.                AsmState (False)
    ! b/ {, e; g6 w% a1 I2 g, D2 Y6 t& S
  178.                CloseHandle hProcess$ ~7 P$ i) C: J/ x( R& w
  179.             End If$ f1 N, G! B* R
  180.     End Select
    2 X  X6 B7 B# o! d8 b
  181. End Sub( S$ t  m0 F1 f" O$ l( j

  182. , K% p( N) s" x2 d
  183. 1 e+ [$ T3 n5 K
  184. Private Sub btnCatchGame_Click()* D; U  _' i) G
  185.     Select Case btnCatchGame.Caption
    ) y! r4 t. w) Z3 k; B  v1 ~
  186.         Case "CatchGame"% _3 @8 ^1 m* b5 I8 K- {
  187.             isOpen (True); a$ S- o5 x  a- ]
  188.         Case "ReleaseGame"
    5 P) f& Y: W; E! g% ?5 z( U9 C
  189.             isOpen (False)/ s/ P: Y- \5 u6 X+ o3 \7 m: U$ v7 Y
  190.             TrainerState (False)
    - c7 h" n* k" ~- [# I# Z( Y3 r
  191.     End Select4 w! `6 f. T  n) V
  192. End Sub
    & G/ e! S7 T% g  _

  193. ) i0 D0 l0 M7 R! b6 y- v
  194. Private Sub btnRefresh_Click()
    * [: J) L7 J5 G$ F! ?
  195. 4 Q" _& Y* ~: m: N6 l9 V
  196.     Dim mineColumn As Byte, mineLine As Byte
    & X  f3 w- X" p
  197.     Dim adrPoint As Long, adrTemp As Long, adrColumn As Long
    / D9 Z" {2 G; @
  198.     Dim i As Byte, j As Byte
    5 A8 Q, \- }; ]/ h) K. v! g
  199. # h+ j1 }* _. M+ `
  200.    
    9 K2 P( f- m- E* W! U' \) x. D% V" X# q5 D
  201.       k6 D( X+ D& Q; O7 N1 p# f
  202.     btnRefresh.Enabled = False3 M4 S5 K5 j& B; Q
  203.    
    ) U8 Z3 o9 l! e
  204.     adrTemp = GetMemory(adrMine)
    6 e1 }9 D6 M- }, J
  205.     adrPoint = GetMemory(adrTemp + &H10)
    9 Q! F: Z# s. P7 f% b! m' i
  206.    
    ! F# U: Z) {4 N* i- O
  207.     mineLine = GetMemory(adrPoint + &H8) - 1( N1 L4 c! L! W
  208.     mineColumn = GetMemory(adrPoint + &HC) - 1/ V% b, c/ X* |; N) E* l
  209.    
    , d' M8 G5 w- X
  210.     adrPoint = GetMemory(adrPoint + &H44)
      B" ?  b& H- f' u7 m
  211.     adrPoint = GetMemory(adrPoint + &HC)6 ^5 B1 ^0 U2 Q' Z) T& K* R. B  P
  212.     : t: p& C" C5 e6 ~1 L+ J0 x8 n, d4 q
  213.    
    / H2 X) z+ _" |( ?% W  D  H
  214.    
    . I' m2 r# b) ?, z6 H% Z
  215.     For i = 0 To 30, q) p1 p5 V- N' n
  216.         adrColumn = GetMemory(adrPoint + i * 4)
    5 H, c" Z- j9 B" I
  217.         adrColumn = GetMemory(adrColumn + &HC)
    8 g% b/ [1 I6 |/ U$ h( D
  218.         For j = 0 To 23
    8 x; T- r% J0 l; g! m1 n( T3 E
  219.             If i > mineColumn Or j > mineLine Then
    2 _1 `( E" x) F+ v
  220.                 Sheet1.Cells(j + 1, i + 1) = ""
    4 \( z% ?1 |4 w* t; u( d
  221.             Else' m  E4 N! Y. p
  222.                 Sheet1.Cells(j + 1, i + 1) = GetMemory(adrColumn + j, 1)6 n( Y1 Q3 W5 D% B- P, Y
  223.             End If& r2 z$ y+ z! m  _" \& R9 t( R) o
  224.         Next j/ I; Z) Y6 C: [3 x' K, j
  225.     Next i: q5 x, m- b7 \  O
  226.     btnRefresh.Enabled = True+ L3 }0 I$ J0 S# C5 J8 t
  227.     2 @+ z. M: E2 O7 Y7 S
  228.     . o5 E& i# ]5 g6 K2 S* f4 P* v
  229. End Sub
    7 Y7 E  Z% [# m7 T2 c2 H
  230. 3 O) n3 u8 \1 _
  231. Private Sub UserForm_Initialize()
    2 W& |2 H% o5 J% G
  232.     TrainerState (False); l& G, [9 L/ A! y& s- H% K
  233.     Sheet1.Cells(1, 2) = 1
    3 O  J: \$ d. H7 l, h
  234. End Sub7 y' O4 o# j  P) N- |0 p

  235. ) {5 u. }8 Q# p( i, H% ~9 r
  236. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' v, h( e8 G9 i8 {. P+ h' ^5 B* ]
  237.     isOpen (False)
    1 Y! ~/ ?: y* z9 N. ~7 x
  238. End Sub7 Z7 a2 h+ i- \, i
复制代码
) O9 _: {/ J( Z$ x& `5 [! Q3 t

3 J' m" G8 [2 a8 e3 t
' C) ]6 }& U; p
& l& K/ u% |  t( d
发表于 2014-6-21 18:42 | 显示全部楼层
EXCEL2010盡頭.jpg 3 q1 @1 Y+ R* V! t- L( h9 E2 `! |
事實證明Excel是有盡頭的﹗(謎:你是閒到甚麼程度?﹗)
: x+ T" A9 {9 V
发表于 2014-6-20 12:29 | 显示全部楼层
excel在我們這裡是必學的…
发表于 2014-6-20 12:45 | 显示全部楼层
厉害还有源码,学习
6 J7 K4 y! T! q( K7 i: }- hexcel我只拿来做最简单的表格。。
发表于 2014-6-20 18:24 | 显示全部楼层
完全看不懂!!!!。。。
+ }+ `5 I$ X  a3 y2 N. [! i6 a7 V3 q- d6 ?4 x! r
不明觉厉只能跪
发表于 2014-6-20 18:49 | 显示全部楼层
尗又 发表于 2014-6-20 18:24* H; T' [% F) h
完全看不懂!!!!。。。
. a6 d, e, `/ ~' d3 S# _# |: a  N! C7 l- w
不明觉厉只能跪
7 m0 H; s5 X- d% Z! Y2 s! F; H
這位很厲害噠﹗帶了修改器來報道﹗大慈姐姐很歡喜的樣子…) I7 w' |! Z+ t$ [
发表于 2014-6-20 19:00 | 显示全部楼层
NataieChan 发表于 2014-6-20 18:49
: F8 p8 I5 b- [0 R- o這位很厲害噠﹗帶了修改器來報道﹗大慈姐姐很歡喜的樣子…

# a3 g6 ]5 D6 b4 d哈哈那是,因为我对修改器的东西比较感兴趣啊
9 h: Z2 |+ x) T2 z
发表于 2014-6-20 20:32 | 显示全部楼层
止慈 发表于 2014-6-20 19:00
( m$ y  n" G9 L* {. l+ q9 t哈哈那是,因为我对修改器的东西比较感兴趣啊

: R2 B" {( U6 T& _# D; L; x莫非你勤制修改器的目的是因為懶得自己去玩…4 \% R1 i4 j. [1 C2 G( S
发表于 2014-6-20 20:57 | 显示全部楼层
NataieChan 发表于 2014-6-20 20:32* K4 O; p- T+ I
莫非你勤制修改器的目的是因為懶得自己去玩…
0 [' P9 c6 s  |8 P
不算勤,不过目的确实是为了省事。自己在玩的时候发现很多不合理的地方,比如说接通告,我要一家家转3D、跑进场景、走一段路、去点制作人、看目前有什么通告——这里还只是看到目前有什么通告,还不一定想接,也不一定能接,或者现在就能接。玩得烦了就自己琢磨减少一下流程,毕竟游戏是要有乐趣,但鼠标点多了也太繁琐。
' K: b: ~4 C' s9 P而且我玩游戏是修改派,不修改无乐趣。。( i3 W, t+ y9 w! Z2 a& e3 V
) k- A* i0 q/ j
有点跑题了。。再回到excel上,小N你们学校里都学用excel做什么?我会的只有最基本的表格和加加减减求和比较之类的。。
1 c! o6 B- `5 [, |4 \4 f8 n( F- r% ^% l) a% {0 O0 T7 F) x- X
再想起来,我因为需要,想过用excel设计一个东西,大概也是存一定数据然后按自己需求可以随机提取之类的,搜到一篇文章还提供了源码的,结果源码链接无效了。。% o; ^2 A( W: m5 A

: c# W; V" D7 Y% x# Y9 A( I# m
3 }, v- C2 K: ~8 ?+ W  g; q
止慈 于 2014-6-20 21:12:09 补充以下内容
3 _+ i. |0 N/ \7 h7 u3 g$ f; d  `* W/ P: M
求指教。。打开附件excel,启用宏以后,那个窗体怎么出现。。我编辑宏能看到源代码,excel不会那么多不知道怎么让那个窗体出现。。
8 B# r# v" t  e9 L9 h" D8 W4 v4 d8 \! W# E. ]( b9 u( X+ M
在我这里
! v9 t% }, L% L+ Z  T
  1. mineLine = GetMemory(adrPoint + &H8) - 1
复制代码

) t0 q3 X- s1 I7 W) E. f/ Z' R会溢出6 y3 [  S- P5 T

$ x* P6 A6 W" [/ e/ F1 Z& C不过没关系,只是做着玩玩的,不用修~我是试着运行了一下然后出了这个错误,就顺便说一下6 M" a: b1 v. q

3 N! [) n' P" Z/ C1 n
! K& T# l# Y3 X- `" U+ n
发表于 2014-6-20 21:15 | 显示全部楼层
止慈 发表于 2014-6-20 20:57
8 O! H4 U4 R/ ?- |' y: F5 x不算勤,不过目的确实是为了省事。自己在玩的时候发现很多不合理的地方,比如说接通告,我要一家家转3D、 ...
$ ~$ p8 ?' k7 p* M/ R3 V& S6 }  Q
做各種奇怪的東西…說起都是淚…最討厭排名…很麻煩…: [. r9 @9 ~/ o3 G2 Q

  d/ v4 C* A0 f2 D; i( s4 ~" I, q) i/ W; j. _- K
NataieChan 于 2014-6-20 21:19:08 补充以下内容, Z! f7 O: ~% l! G: b5 L

7 T1 s% M6 J  Z& ~9 ]做各種的圖…
发表于 2014-6-20 21:23 | 显示全部楼层
NataieChan 发表于 2014-6-20 21:15
7 X3 ]5 O& d, `  m做各種奇怪的東西…說起都是淚…最討厭排名…很麻煩…
; U5 h' n" d& }  a& p
[strike]做什么奇怪的东西说出来让我们乐一乐[/strike]
( Q, m1 @% N- ^. ~. s
0 d4 c  W  n7 o" u8 Q1 u( O排名还好啊,不过也许你们的是比较复杂的排名,那就麻烦点吧。。
7 |& v" z2 N8 b! i
/ f; @4 s+ i3 Q4 h1 u3 _- H以下是编辑:
3 c! t4 s# }+ t% u2 S0 w0 v+ `5 ^' M2 [7 t, e+ O
刚刚没看到你补充的。做各种的图的话确实比较麻烦。。
6 g/ `5 T9 W; j0 r" L6 U
1. 严禁讨论盗版
2. 除专门水区以外(报道/JQ版)请您注意要减少水分哦。水区热烈欢迎以下内容:灌水,版聊,勾搭,抢沙发
3. 更多发言规定在这里
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-19 06:06

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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