рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреИрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрдпрд╛рд░!
рдХрд▓рд╛рдХрд╛рд░ Vasya Lozhkin рджреНрд╡рд╛рд░рд╛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдЙрджреНрдзрд░рдгред
рдореИрдВ VBA рдПрдХреНрд╕реЗрд▓ рдкрд░ рдПрдХ рдмрд╣реБ-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдПрдХ рд▓рдЪреАрд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдХреЗ рд╕рдордп, рдмрдбрд╝реЗ рдЦрдВрдбреЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ 7 рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдереЗ (20 рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ 370 рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рддрдХ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ), рдЬрд┐рдирдХрд╛ рд╡рдЬрди 50 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╕реЗ 12 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рддрдХ рдерд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЬреНрдЮрд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рдореМрдЬреВрджрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдореИрдХреНрд░реЛ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрджрд▓рд╛ рдЧрдпрд╛, рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рд╕рд╣реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ 60 рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрди рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рднреА рдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдореБрдЭреЗ рдПрдХ рдФрд░ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдЦреАрдВрдЪ рд▓рд┐рдпрд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рд╣реА рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╕рднреА рдХреЛ рднреЗрдЬ рджрд┐рдпрд╛ред рдореИрдВрдиреЗ рднреАрдбрд╝ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рддреЗ рд╣реБрдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдХрд┐ рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рд╕реБрди рдирд╣реАрдВ рдкрд╛рдПрдЧрд╛, рдХреЛрдИ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдПрдЧрд╛ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреЛрдИ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рдЯреЗрдмрд▓ рд▓реЗ рд▓реЗрдЧрд╛, рдФрд░ рдореИрдВ рдпрд╣ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рдХреМрди рдФрд░ рдХреИрд╕реЗ рдЯреЗрдмрд▓ рдмрджрд▓реЗрдЧрд╛ред
рдПрдХ рдХреЛрдб рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рди рдХрд┐ рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреА 60 рдкреНрд░рддрд┐рдпрд╛рдВред
рд╕рдорд╛рдзрд╛рди рдЬрд▓реНрджреА рд╣реА рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖ рдЧрдпрд╛, рдФрд░ Google рдиреЗ рдЬрд▓реНрджреА рд╕реЗ рдореБрдЭреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ VBA рдХреЛрдб рдмрджрд▓рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдП, рдЬреЛ рдмрд╛рдж рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ред рддреЛ, рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкрд╛рда рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рд╣реИ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдПрдХреНрд╕реЗрд▓ рдИрд╡реЗрдВрдЯ "рдУрдкрди рдмреБрдХ" рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдХреЗ "рдХреНрд▓рд╛рдЗрдВрдЯ" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдХрд░ рдПрдХ рдореЗрдиреВ рдмрдирд╛рддреА рд╣реИред рд╡рд╛рдВрдЫрд┐рдд рдореИрдХреНрд░реЛ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рддреА рд╣реИ, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реНрдерд┐рдд рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ, рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рднреАрддрд░ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред
рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:
- рдХрд┐рд╕реА рднреА рдореИрдХреНрд░реЛ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реЛрддреА рд╣реИред
- рдореИрдХреНрд░реЛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ рдирд╡реАрдирддрдо рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЬреЛ рдореИрдХреНрд░реЛ рд╕рдорд░реНрдерди рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред
- рдЧрд▓рддреА рд╕реЗ рдПрдХ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬрд┐рд╕рдиреЗ рд╕рдм рдХреБрдЫ рдмрд░реНрдмрд╛рдж рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдб рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╣реЛрдВрдЧреЗ, рдореЗрд░реЗ рдХрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдЦрд╝реБрд╢реА рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░реВрдБрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рдмреБрд░реНрдЬреБрдЖ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдмрд╣реБрдд рдХреЛрдб рд▓рд┐рдпрд╛, рдХреБрдЫ рд░реВрд╕реА рд╕реЗ, рдХреБрдЫ рдореИрдВрдиреЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛, рдпрд╣ рд╕рдм рдХрдо рд╕реЗ рдХрдо рдЫрд╣ рдорд╣реАрдиреЗ рддрдХ рд╕рдВрдЪрд┐рдд рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рд╕реНрд░реЛрдд рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдмрдбрд╝рд╛ рдЦреЗрдж рд╣реИ, рдЕрдЧрд░ рдХреБрдЫ, рд▓рд┐рдЦрдирд╛, рд╣рдЯрд╛рдирд╛ред
рддреЛ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
рд╣рдо рдкреБрд╕реНрддрдХ рдХреЗ рдЙрджреНрдШрд╛рдЯрди рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдирд╛ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ:
Private Sub Workbook_Open() create_module_for_file End Sub
рдХреЛрдб рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЕрд╡рдзрд╛рд░рдгрд╛ рдПрдХ рд╣реИ, рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд┐рдХ рджреЗрдВ
Create_module_for_file рдкреНрд░рдХреНрд░рд┐рдпрд╛:
filemod = OpenFileModule("menu") cl_d.create_module ("menu") cl_d.write_sub_for_module_action filemod, "menu" filemod = OpenFileModule("list_action") cl_d.create_module ("list_action") cl_d.write_sub_for_module_action filemod, "list_action"
рддреАрди рд▓рд╛рдЗрдиреЗрдВ рддреАрди рдХреНрд░рд┐рдпрд╛рдПрдВ, рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрд╛рд░реНрдп рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:
Function OpenFileModule(namemodule) Set FSO = CreateObject("Scripting.FileSystemObject") filepath = "-// //-" mSearch = ".txt" OpenFileModule = FSO.GetFile(filepath & "\" & namemodule & mSearch) End Function
рдЕрдЧрд▓рд╛, рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдПрдВ:
Function create_module(name_module) ' ThisWorkbook.VBProject.VBComponents.Add vbext_ct_StdModule ' k = ThisWorkbook.VBProject.VBComponents.Count ' ThisWorkbook.VBProject.VBComponents.Item(k).Name = name_module End Function
рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рддрдХ рдХреЛрдб рд▓рд┐рдЦреЗрдВ
Function write_sub_for_module_action(filepath, filename) Open filepath For Input As #1 s = "" Do Until EOF(1) Line Input #1, Data s = s & Data & z & z Loop Set vbComp = ThisWorkbook.VBProject.VBComponents(filename) With vbComp.CodeModule .InsertLines .CountOfLines + 1, s End With Set vbComp = Nothing Close #1 End Function
рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдореЗрдиреВ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред
рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдореЗрдиреВ рдмрдирддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдРрдб-рдСрди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдХреЛрдб рджреНрд╡рд╛рд░рд╛:
-рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╣рдо рд╣рдЯрд╛ рджреЗрдВрдЧреЗ, рдЕрдЧрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛:
Application.CommandBars(1).Controls("MTS_K").Delete - <source lang=┬лVBScript┬╗> ' , , MenuPos = Application.CommandBars(1).FindControl(ID:=30010).Index + 1 ' Set Menu = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=MenuPos, temporary:=True) ' Menu.Caption = "MTS_K"
рдкреИрдирд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдм рд╣рдо рд╕реАрдзреЗ рдПрдХ рдореЗрдиреВ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдмрдЯрди рдмрдирд╛рдПрдЧрд╛ред
' Set Menuname = Menu.Controls.Add(Type:=msoControlPopup) ' Menuname.Caption = " YES->NO"
рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдмрдЯрди рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдореЗрдиреВ рдПрдХ рдлрд╝рд╛рдЗрд▓ -> рдПрдХ рдмрдЯрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдмрджрд▓реЗ рдореЗрдВ, рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣рд╛рдВ рдЙрдк рдореЗрдиреВ рдореЗрдВ рд╡реЗ рдкреЙрдк рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдб 3 рдмрдЯрди рдмрдирд╛рддрд╛ рд╣реИ:
Set SubItem = MenuItem.Controls.Add(Type:=msoControlButton) ' SubItem.Caption = " " ' , SubItem.FaceId = "801" ' , SubItem.OnAction = "action11a" ' SubItem.Enabled = True ' Set SubItem = MenuItem.Controls.Add(Type:=msoControlButton) SubItem.Caption = " " SubItem.FaceId = "1038" SubItem.OnAction = " action12a" SubItem.Enabled = True Set SubItem = MenuItem.Controls.Add(Type:=msoControlButton) SubItem.Caption = " " SubItem.FaceId = "1038" SubItem.OnAction = " action13a" SubItem.Enabled = True
рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рд▓реЗрдЦрди рдореЛрдб рдореЗрдВ, рдХрд╛рдо рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред рдпрд╣ рдХрд╛рд░реНрдп рдХреЛрдб рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдм рдЖрдкрдиреЗ "рдореИрдХреНрд░реЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдерд╛ред рдЗрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХреБрдЫ рдлрд╛рдЗрд▓реЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рдПрдВрдЧреА, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдлрд╛рдЗрд▓реНрд╕ рдХрд╣реЗрдВрдЧреЗ, рдпрд╛рдиреА рдлрд╛рдЗрд▓ рдУрдкрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЬреЛ рдореЙрдбреНрдпреВрд▓реНрд╕ рд▓рдЧрд╛рддрд╛рд░ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ "рдореЗрдиреВ" рдФрд░ "рд▓рд┐рд╕реНрдЯ рдПрдХреНрд╢рди" рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдореИрдХреНрд░реЛ рдлрд╛рдЗрд▓реНрд╕ рдЦреБрдж рдПрдХ рдмрдЯрди рдХреЗ рдХреНрд▓рд┐рдХ рдкрд░ рд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдВрдЧреАред рдЙрдирдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ: рдПрдХ рдореЗрдиреВ рдлрд╝рд╛рдЗрд▓ рдПрдХ рдореЗрдиреВ рдмрдирд╛рддреА рд╣реИ :)
Set MenuItem = PLEXMenu.Controls.Add(Type:=msoControlPopup) MenuItem.Caption = " " Set SubItem = MenuItem.Controls.Add(Type:=msoControlButton) SubItem.Caption = " " SubItem.FaceId = "801" SubItem.OnAction = "action11" SubItem.Enabled = True
рдореЗрдиреВ рдореЗрдВ рд╣рдо рдПрдХ рдШрдЯрдирд╛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ "рдПрдХреНрд╢рди 1 ... рдПрдХреНрд╕" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ "рд▓рд┐рд╕реНрдЯ_рдПрдХреНрд╢рди" рдореЗрдВ рдмреИрдарддрд╛ рд╣реИред рдЖрдЗрдП рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рджреЗрдЦреЗрдВ
Sub action11() Set cl_d = New Edit_module On Error Resume Next cl_d.delete_modul_full ("action_yes_no") filemod = OpenFileModule("action_yes_no") cl_d.create_module ("action_yes_no") cl_d.write_sub_for_module_action filemod, "action_yes_no" kart_view End Sub
рд╣рдо рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛, рдЪрд╛рд╣реЗ рдХреЛрдб рдмрд╣реБрдд рдмрджрд▓ рдЧрдпрд╛ рд╣реЛред рдЕрдЧрд▓рд╛, рд╣рдо рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдПрдХ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдирд┐рд╣рд┐рдд рдереЗред
рдпрд╣рд╛рдБ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ)
рдпрджрд┐ рд╣рдо рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдирд╛рдо рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рд╕реАрдзреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рддреЛ рд╣рдорд╛рд░реА рдХрд╛рд░реНрд░рд╡рд╛рдИ 11 рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╣ рд╢рдкрде рд▓реЗрддреА рд╣реИ рдХрд┐ рд╡рд╣ "kart_view" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрддреА, рдФрд░ рд╕рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЙрд╕ рд╕рдордп рдирд╣реАрдВ рдерд╛ рдЬрдм рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдЬреАрд╡рди рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдХреЛрдб рд╣реИ:
Sub action11() Set cl_d = New Edit_module On Error Resume Next cl_d.delete_modul_full ("action_yes_no") filemod = OpenFileModule("action_yes_no") cl_d.create_module ("action_yes_no") cl_d.write_sub_for_module_action filemod, "action_yes_no" action11a End Sub Function action11a() kart_view End Function
рдпрд╣реА рд╣реИ, "рдХреНрд░рд┐рдпрд╛ 11a" рд╕реЗ "kart_view" рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рдордп, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, vba рдПрдХ рдкрдХрдбрд╝ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдореА рдкрд░рд┐рдгрд╛рдо: рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдХреЛрдб рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╛рд░-рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреБрд╕реНрддрдХ рдХреЛ рдЬрдЧрд╣ рдирд╣реАрдВ рд▓реЗрдиреЗ рдФрд░ рдЕрдЧрд▓реЗ рдЦреЛрд▓рдиреЗ рддрдХ рд╕реНрдерд┐рд░ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕рд╛рдл рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдкрд░ рдХреБрдЫ рдФрд░ рд╢рдмреНрдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 300 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЖрдкрдХреЛ рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, 10тАУ30 рд╣рдЬрд╛рд░ рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдЧрд░ рдореБрдЭрд╕реЗ рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рдХрд┐ рдЖрдзреЗ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдПрдХ рдирдореВрдирд╛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдмрд┐рдирд╛ рдЬрд╛рдиреЗ рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рдЪрдХреНрд░ рдЬрд╛рдиреВрдВрдЧрд╛ред рдмрд╛рдж рдореЗрдВ, рдХрдИ рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ рдереА, рдореИрдВ рд╣рд░ рдПрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП, рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рдирдХ рдПрдХреНрд╕реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛: 300 рд╣рдЬрд╛рд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ, 10 рд╣рдЬрд╛рд░ рдорд╛рди рдЬреНрдЮрд╛рдд рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
1) рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдЪрдпрди рдкрд╛рд╢ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА
tab1 = tab2 = col_tab1 = tab1.Cells(Rows.Count, 1).End(xlUp).Row ' (10 ) col_tab2 = tab2.Cells(Rows.Count, 1).End(xlUp).Row ' (300 ) for i = 1 to col_tab1 for ii = 1 to col_tab2 if tab1.cells(ii,1) = tab2.cells(i,1) then exit for end if next ii next i
рдпрджрд┐ рд╣рдо рдЪрдХреНрд░ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ 300,000 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 10,000 рдмрд╛рд░ рдЫрдВрдЯрдиреА рдЪрд╛рд╣рд┐рдПред рдХреБрд▓ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд▓рдЧрднрдЧ 500 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА
3000000000/500 = 6000000 рд╕реЗрдХрдВрдб, (100000 рдорд┐рдирдЯ рдпрд╛ 1666.66 рдШрдВрдЯреЗ рдпрд╛ 69 рджрд┐рди рдпрд╛ 9 рд╕рдкреНрддрд╛рд╣ рдпрд╛ ...)
рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЖрдо рддреМрд░ рдкрд░ рдпрд╣рд╛рдБ рдФрд░ рдЕрдм, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдЕрдзрд┐рдХрддрдо рджреЛ рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рд╕рд╣реА рди рд╣реЛред
2) рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рджреВрд╕рд░реА рд╡рд┐рдзрд┐ mysql рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ
Mysql рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдерд╛, mysql ODBC рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдореБрдЭреЗ 2, рд╕рдВрд╕реНрдХрд░рдг 3.51 рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 5.1 рдкрддрд╛ рдерд╛ред рдпрд╣ рдкрд╕рдВрдж 3.51 рдкрд░ рдЧрд┐рд░ рдЧрдИ, рджреВрд╕рд░реА, рдордВрдЪреЛрдВ рдкрд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВ utf8 рдореЗрдВ рдЖрдзрд╛рд░ рдЪрд╛рд╣рддрд╛ рдерд╛
рдореБрдЭреЗ рдПрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдорд┐рд▓рд╛, рдФрд░ рдореИрдВрдиреЗ рдЬрд┐рд╕ рдкрд╣рд▓реЗ рдЯрдХреНрдХрд░ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ, рд╡рд╣ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ
рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдмрд╛рд╣рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдХ vba- рдореИрдХреНрд░реЛ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╢рдкрде рд▓реЗрддрд╛ рд╣реИ:

рд╕реНрдореЛрдХреНрдб рдПрд╕рдХреНрдпреВрдПрд▓ рдореИрдиреБрдЕрд▓, рдпрд╣ рдкрд╛рдпрд╛
CREATE USER '%'@'user' IDENTIFIED BY PASSWORD 'mtspass'; GRANT SELECT ON *.* TO '%'@'user';
рдпрд╣реА рд╣реИ, рдКрдкрд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рдиреЗ рдореБрдЭреЗ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рджрд┐рдпрд╛ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП mysql рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ "рдЬрдореА" рдереА рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдкрдврд╝рд╛ рдерд╛ред
рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдЪрдХреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╣реА рдореИрдХреНрд░реЛ рдиреЗ 59 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛, рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде 3.5-4 рд╕реЗрдХрдВрдб рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 10 рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рддреЗрдЬреА рд▓рд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред
рдХреЛрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рдпрд╣рд╛рдБ рд╣реИ:
egregors.blogspot.ru/2013/05/mysql-vba-excel-mysql.html3) sql рдереАрдо рдХреЛ рдзреВрдореНрд░рдкрд╛рди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рдХреЛрдб рдирд╛рд░рдХреАрдп рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
Set cN = New ADODB.Connection ' cN.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=-// //-\base\base" & Environ("USERNAME") & ".mdb; Jet OLEDB:Database;" ' ' for i = 1 to col_tab1 nabor_act = nabor_act & тАЬ','тАЭ & tab1.cells(i,1) next i Set RS = New ADODB.Recordset ' RS.Open "SELECT * FROM kartoteka WHERE nom_act LIKE 'тАЭ & right(nabor_act, len(nabor_act)-3) & тАЭ' ;", cN, adOpenStatic, adLockOptimistic o = 2 Do While Not RS.EOF ter.Cells(o, 1) = "" & Right$(RS.Fields(1).Value, 6) ter.Cells(o, 2) = RS.Fields(2).Value ter.Cells(o, 3) = "" ter.Cells(o, 4) = RS.Fields(6).Value ter.Cells(o, 5) = "" o = o + 1 RS.MoveNext Loop cN.Close Set cN = Nothing
рдпрд╣ рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ mysql рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ ...
рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рдордирд╛ рдХрд░ рджрд┐рдпрд╛ рдерд╛ рдореБрдЭреЗ рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рддреБрд▓рдирд╛ рдФрд░ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП 300 рд╣рдЬрд╛рд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА 2 рддрд╛рд▓рд┐рдХрд╛рдПрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди, рдореБрдЭреЗ рд▓рдЧрднрдЧ 600 рдореАрдЯрд░ рдЖрдХрд╛рд░ рдХрд╛ рдЖрдзрд╛рд░ рдорд┐рд▓рд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ 50 рд▓реЛрдЧ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЗрд╕ рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЖрдХрд╛рд░ рдореЗрдВ 25-30 рдЧрд┐рдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореБрдЭреЗ рддреБрд░рдВрдд рджреВрд░ рдХрд░реЗрдВрдЧреЗред
4) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рд░реЛрдХрд╛ред рд╣рд╛рдВ, рдпрд╣ рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рддрд░реАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрди рдХрдорд┐рдпреЛрдВ рдХреА рднрд░рдкрд╛рдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдкреБрд╕реНрддрдХ рджреНрд╡рд╛рд░рд╛ Sql рдХреНрд╡реЗрд░реА
Set cn = New ADODB.Connection ' cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.path & "\" & ActiveWorkbook.Name & ";Extended Properties=Excel 12.0;" ' cn.ConnectionTimeout = 40 cn.Open ' for i = 1 to col_tab1 nabor_act = nabor_act & тАЬ','тАЭ & tab1.cells(i,1) next i sql = "SELECT * FROM [res$] WHERE [ ] 'тАЭ & right(nabor_act, len(nabor_act)-3) & тАЭ' " Dim rs As New ADODB.Recordset Set rs = New ADODB.Recordset ' rs.ActiveConnection = cn ' rs.LockType = adLockOptimistic ' . Update(). . rs.CursorLocation = adUseClient ' rs.source = sql ' rs.Open rs.MoveFirst ' rew = "" Do Until rs.EOF ' rew = rew & "','" & rs.Fields(0).Value rs.MoveNext ' Loop rs.Close cn.Close
рдпрд╣рд╛рдВ ... рдпрджрд┐ рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреА рд╢рд░реНрддреЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдореМрдХрд╛ рдХреЗ рд▓рд┐рдП 10 рд╕реЗрдХрдВрдб рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рд▓рд╛рдЗрди рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХреА рдЬрд╛рдПрдЧреА, рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, 25 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдирдореВрдирд╛ рдХреЗ рд╕рд╛рде рд▓рдЯрдХрд╛рдПрдЧреА, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП 10 рд╕реЗрдХрдВрдбред
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред