< návrat zpět

MS Excel


Téma: Automatické spouštění makra z osobního sešitu rss

Zaslal/a 28.8.2017 11:15

Dobrý den,

chtěl bych se zeptat jak vyřešit problém se spouštěním maker z osobního sešitu. Vytvořil jsem si makro a pojmenoval ho auto_open, toto mi funguje pokud mam vytvořené makro pouze pro sešit, pokud ho ale vytvořím v osobním sešitě (Personal.xlsb), tak při spuštění naskočí chybová hláška runtime error 1004 method range of object _global failed. Neřešil zde někdo tento problém? Případně, jak to vyřešit?

Děkuji všem za odpovědi.

Zaslat odpověď >

#037411
avatar
Bez přílohy?
P.citovat
#037414
avatar
Omlouvám se, přikládám soubor.
Příloha: xlsx37414_priklad.xlsx (12kB, staženo 30x)
citovat
#037416
Hav-Ran
súbor xlsx nemôže mať makro, čo si to poslal ? Záleží ti vôbec na riešení ?citovat
#037418
avatar
Soubor s příponou .xlsm mi nešel nahrát, zabalit ho, mě napadlo až teď. Nicméně to nefunguje ani když má soubor příponu List Microsoft Excelu s podporou maker (.xlsm)citovat
#037420
Hav-Ran
Neviem ako iným, ale mne sa rar nedá otvoriť 6citovat
#037421
avatar
Tak ještě jeden pokus
Příloha: zip37421_priklad.zip (10kB, staženo 29x)
citovat
#037422
elninoslov
Malo by to ísť cez triedu:

EDIT: Ale s vykonaním zmiem pri otvorení "každého zošitu" by som bol veľmi opatrný, a poriadne ošetril ako má makro zistiť, či sa jedná o vhodný zošit. Vaše makro na vkladanie dátumov nenávratne zničí celé stĺpce C v akomkoľvek zošite. Uvedomujete si to dúfam.
Příloha: zip37422_personal.zip (12kB, staženo 28x)
citovat
#037424
avatar
Bohužel problém stále přetrvává a hází "runtime error 1004 method range of object _global failed".citovat
#037426
elninoslov
Určite ? Mne to fachá na všetky súbory, či už XLS, XLSX, XLSM, otvárané priamo, otvárané z archívu. Nič nepadá, robí to to čo má, kopíruje ten dátum.
-určite máte v XLSB aj tú triedu definovanú v ThisWorkbook ?
-v samotnej triede cExcelEvents si už iba zamente ten msgbox Hello za Váš kód. Ja som to urobil za Vás tu to máte.
-Uložil ste ten XLSB po úprave?

-pozatvárajte Excel
-zálohujte si Váš XLSB súbor bokom. Nahraďte ho týmto v adresári
c:\Users\Vaše_meno\AppData\Roaming\Microsoft\Excel\XLSTART\

Kto nechce sťahovať tak:
V XLSB - ThisWorkbook
Option Explicit

Private XLApp As cExcelEvents
Private Sub Workbook_Open()
Set XLApp = New cExcelEvents
End Sub

V XLSB - cExcelEvents
Option Explicit

Private WithEvents App As Application
Private Sub Class_Initialize()
Set App = Application
End Sub
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)

'// Prevent message when this workbook is opened
If Wb.Name <> ThisWorkbook.Name Then
'MsgBox ("Hello")
Range("C2").Select
ActiveCell.FormulaR1C1 = "7/25/2017"
Range("C2").Select
Selection.NumberFormat = "yyyy/mm/dd"
Range("C2").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
End If

End Sub
Příloha: zip37426_personal.zip (13kB, staženo 31x)
citovat
#037439
avatar
Bomba, funguje to přesně tak jak potřebuji! Děkuji moc. Ještě mě napadá že by se sešit mohl sám uložit a zavřít. Zkoušel jsem vytvořit kód dle fóra, ale poté se mi data v sešitě rozhází.

ActiveWorkbook.Save
Application.DisplayAlerts = False
Application.Quit
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje