Προς το περιεχόμενο

Scrip για Excel Add-in


papazaf

Προτεινόμενες αναρτήσεις

Δημοσ.

εχω ενα add in στο excel το οποιο οταν το κλικαρω ανοιγει εινα προγραμματακι και τραβαει data απο μια database και τα ριχνει σε ενα sheet, αλλαζω sheet στο ιδιο workbook το ξανατρεχω και ριχνει και εκει data και παει λεγονατας...

πωσ θα μπορουσα να κανω ενα script να γινεται αυτοματα?

  • 2 εβδομάδες αργότερα...
Δημοσ.

το προσπαθησα, στο macro record δεν κανει capture οταν πατας το addin, ξερει κανεισ τον κωδικα για να το πεαρασω με το χερι?

Δημοσ.

Συνήθως τα addins δημιουργούν ένα menu item μέσα σε κάποιο menu (συνήθως στο Tools). Αφού φορτώσεις το addin μπορείς να χρησιμοποιήσεις αυτή την εντολή μέσα στη macro

 

CommandBars("Tools").Controls("<το κείμενο που εμφανίζεται στο μενού για το addin>").Execute

 

και θα εκτελεστεί το addin

Δημοσ.

το εικονιδιο το addin το βγαζει πανω στην μπαρα των μενου, διπλα απο το U , η εντολη που μου εδωσες κολαει στο execute(excel 2003)

Δημοσ.

Αν το addin προσθέτει εικονίδιο, βάλε το στο μενού:

Δεξί click στην μπάρα εγραλείων - Customize

Click and drag (πατημένο το Ctrl) το εικονίδιο πάνω από το μενού Tools και αφού ανοίξει το μενού, άφησε το κάπου μέσα.

 

Στη macro χρησιμοποίησε καλύτερα αυτήν την εντολή

Application.CommandBars("Tools").Controls("<το κείμενο που εμφανίζεται στο μενού για το addin>").Execute

 

Πρόσεξε μόνο να χρησιμοποιήσεις και το & αν το κείμενο έχει κάποιον χαρακτήρα υπογραμμισμένο. Π.χ.

Application.CommandBars("Tools").Controls("&Underline").Execute

 

Κι εγώ excel 2003 έχω.

Δημοσ.

Μπορείς να χρησιμοποιήσεις το αντίστοιχο

Application.CommandBars("File").Controls("&Open...").Execute

που θα ανοίξει το παράθυρο "Open file"

 

αλλά καλύτερα είναι αυτή η εντολή που ανοίγει απευθείας το αρχείο

Application.Workbooks.Open "<πλήρης διαδρομή αρχείου>"

 

ooopps, λάθος. Για exe χρησιμοποίησε αυτή την εντολή

VBA.Shell "<πλήρης διαδρομή exe αρχείου>", vbNormalFocus

Δημοσ.

Μόνο για exe αρχεία είναι.

Αν θέλεις να ανοίξεις άλλο αρχείο με το default πρόγραμμα, χρησιμοποίησε αυτό.

 

Πάνω πάνω στο παράθυρο του κώδικα (Declarations) βάλε αυτά

>
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1

 

και μετά όπου θέλεις, χρησιμοποίησε την εντολή

ShellExecute Application.hwnd, vbNullString, "<full path to a file>", vbNullString, "", SW_SHOWNORMAL

Δημοσ.

στο excel 2000 δεν δουλευει, στο 2003 θα το δοκιμασω.

Σε ευχαριστω για τις πληροφοριες, μου φαινεται πρεπει να αρχισω tutorial στην VB

Δημοσ.

Δεν έχει διαφορά σε όποια έκδοση excel κι αν είναι.

Άνοιξε ένα παράθυρο κώδικα και κάνε paste αυτό

>
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1

Sub SomeThing()
ShellExecute Application.hwnd, vbNullString, "c:\windows\setuplog.txt", vbNullString, "", SW_SHOWNORMAL
End Sub

 

Βάλε τον κέρσορα μέσα στη Sub SomeThing και πάτα F5

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...