Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 27919 Skopiuj do schowka Dodatek do excela, działający przy otwieraniu nowego skorosz
Autor Wiadomość
michael0510 
Exceloholic



Posty: 246
Wysłany: 2012-02-08, 16:53   Dodatek do excela, działający przy otwieraniu nowego skorosz

Witam
W pracy jest nowy wymóg jeżeli utworzy się jakiś plik w excelu i mają z niego korzystać inne osoby muszą być uzupełniony nagłówek i stopka. Pomyślałem o zautomatyzowaniu procesu, pomyślałem o jakimś dodatku, który po odpaleniu instaluje się w excelu. I teraz przy każdym otwieraniu excela pojawiałby się okno które należy wypełnić z 2 opcjami wyboru ZATWIERDZ i POMIŃ. Po wypełnieniu i kliknięciu ZATWIERDZ wszystko zapisuje się w nagłówku i stopce. Przy wyborze POMIŃ zapisują się tzw stałe dane w nagłówku i stopce. Przykład stałych jest w załączonym przykładzie. Jak coś takiego zrobić, czy jest to możliwe?

przykład.zip
Pobierz Plik ściągnięto 3 raz(y) 4.51 KB

ID posta: 147912 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

negatyv
Excel Expert



Zaproszone osoby: 4
Pomógł: 195 razy
Posty: 910
Wysłany: 2012-02-08, 19:20   

Możesz stworzyć szablon xlt, do którego dodasz coś w stylu
Kod:
Private Sub Workbook_Open()
Dim MySheet As Worksheet
     If MsgBox("Czy uzupelnic...?", vbYesNo) = vbYes Then
        For Each MySheet In ThisWorkbook.Worksheets
            MySheet.PageSetup.CenterHeader = "terefere"
            MySheet.PageSetup.CenterFooter = "terefere"
         Next MySheet
    End If
  End Sub


[ Dodano: 2012-02-08, 19:26 ]
Ewentualnie zapisać ten jako xls w katalogu XLStart, w:

C:\Documents and Settings\username\Application Data\Microsoft\Excel

Będzie się otwierał za każdym razem jak odpalisz Excela.
ID posta: 147937 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

michael0510 
Exceloholic



Posty: 246
Wysłany: 2012-02-08, 19:55   

To już jakiś początek. Ale chciałbym udostępnić taki plik wielu użytkownikom w firmie i czy jest możliwość taki plik powiedzmy .exe, który po odpaleniu zainstaluje się w excelu. I może zamiast Msgbox pojawił się Userform. Zaraz przygotuje taki userform, żeby był gotowy przykład.

[ Dodano: 2012-02-08, 20:24 ]
Zamieszczam przykład UserForm, dane w label to są stałe i muszą się pojawić zarówno przy zatwierdzeniu jak i pominięciu (nie wliczają się tylko NAGŁÓWEK, STOPKA, Prawa Lewa i Środkowa sekcja).

Przykład2.zip
Pobierz Plik ściągnięto 8 raz(y) 13.83 KB

ID posta: 147941 Skopiuj do schowka
 
 
negatyv
Excel Expert



Zaproszone osoby: 4
Pomógł: 195 razy
Posty: 910
Wysłany: 2012-02-08, 22:18   

Możesz ten plik zapisać jako dodatek, xlam. Zapisując od razu podpowie Ci katalog dodatków. W internecie znajdziesz bez problemu jak instalować dodatki, np.:

http://peltiertech.com/Wo...-in-excel-2007/
_________________
http://www.123office.pl - blog poświęcony programom pakietu MS Office.
ID posta: 147953 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

michael0510 
Exceloholic



Posty: 246
Wysłany: 2012-02-09, 12:55   

OK, wiem jak już zrobić dodatek i jak go instalować. Teraz na podstawie twojego wcześniejszego makra spróbuje dopasować do swojego UserForma, tak żeby dobrze przypisywało odpowiednie pola w odpowiednie miejsca w nagłówku i stopce. Zobaczę co z tego wyjdzie.

Ok przygotowałem nowy plik z przykładem, ale mam kilka problemów
W przykładzie napisałem kod do przycisku POMIŃ
Kod:

Option Explicit

Dim MySheet As Worksheet

Private Sub cmd_pomin_Click()
For Each MySheet In ThisWorkbook.Worksheets
'naglowek
    MySheet.PageSetup.LeftHeader = lbl_temat.Caption
    'MySheet.PageSetup.LeftHeader.Font.Size = 8
   
    MySheet.PageSetup.CenterHeader = lbl_autor.Caption
    MySheet.PageSetup.CenterHeader = lbl_data.Caption
    MySheet.PageSetup.CenterHeader = lbl_data_zapisu.Caption
    'MySheet.PageSetup.CenterHeader.Font.Size = 8
   
    MySheet.PageSetup.RightHeader = lbl_logo.Caption
    'MySheet.PageSetup.RightHeader.Font.Size = 8
'stopka
    MySheet.PageSetup.LeftFooter = lbl_nr.Caption
    MySheet.PageSetup.RightFooter = lbl_miejsce.Caption
    MySheet.PageSetup.RightFooter = lbl_czas.Caption
   
Next MySheet
    Unload Me
End Sub



Niestety nie wszystko się zapisuje oraz nie wiem jak ustawić właściwości czcionek dla Nagłówka to size 8, pogrubiona a dla Stopki to size 7, pogrubiona. A lbl_data_zapisu ma się równać dzisiejsza data w formacie rrrr-mm-dd.

Przykład3.zip
Pobierz Plik ściągnięto 4 raz(y) 18.55 KB

ID posta: 148011 Skopiuj do schowka
 
 
negatyv
Excel Expert



Zaproszone osoby: 4
Pomógł: 195 razy
Posty: 910
Wysłany: 2012-02-09, 13:23   

Po prostu włącz nagrywarkę makr, zmień wielkość czcionki w nagłówku i podejrzyj stworzone makro, wielkość czcionki zmienia się dość dziwnie :)

Aktualna data:

Kod:
MySheet.PageSetup.CenterHeader = Date


Prawą stopkę, chciałeś chyba tak zrobić:
Kod:
MySheet.PageSetup.RightFooter = lbl_miejsce.Caption & " " &lbl_czas.Caption
_________________
http://www.123office.pl - blog poświęcony programom pakietu MS Office.
ID posta: 148017 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

michael0510 
Exceloholic



Posty: 246
Wysłany: 2012-02-09, 17:08   

Nagrałem makro, które zmienia rozmiar czcionek nagłówka i stopki t0 co uważałem za niepotrzebne a makro nadal prawidłowo zmieniało czcionki wykasowałem, ale nie wiem jak poprawić aby zamiast wpisanych stałych zamienić to na zmienne
np
Kod:

 .LeftHeader = "&""Czcionka tekstu podstawowego,Pogrubiony""&8TEMAT:"

zamiast
Kod:
 "&8TEMAT:"
wstawić zmienną
Kod:
 lbl_temat.Caption

Kod:

    With ActiveSheet.PageSetup
        .LeftHeader = "&""Czcionka tekstu podstawowego,Pogrubiony""&8TEMAT:"
        .CenterHeader = _
        "&""Czcionka tekstu podstawowego,Pogrubiony""&8AUTOR: DATA: 2012-02-09"
        .RightHeader = "LOGO FIRMY"
        .LeftFooter = _
        "&""Czcionka tekstu podstawowego,Pogrubiony""&7F01/P-2.2_10.03.03"
        .CenterFooter = ""
        .RightFooter = _
        "&""Czcionka tekstu podstawowego,Pogrubiony""&7Miejsce przechowywania: Czas przechowywania:"
    End With


Przykład5.zip
Pobierz Plik ściągnięto 5 raz(y) 26.24 KB

Ostatnio zmieniony przez michael0510 2012-02-09, 17:44, w całości zmieniany 1 raz  
ID posta: 148057 Skopiuj do schowka
 
 
negatyv
Excel Expert



Zaproszone osoby: 4
Pomógł: 195 razy
Posty: 910
Wysłany: 2012-02-09, 17:38   

Ale kombinujesz...
Potrzebujesz operatora konkatenacji, czyli łączenia tekstów : &

Po prostu:
.LeftHeader = "&""Czcionka tekstu podstawowego,Pogrubiony""" & lbl_temat.Caption
_________________
http://www.123office.pl - blog poświęcony programom pakietu MS Office.
ID posta: 148067 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

michael0510 
Exceloholic



Posty: 246
Wysłany: 2012-02-10, 10:45   

No właśnie to zrobiłem, tylko wcześniej brakowało mi cały czas znaku "
I mi się wywalało, ale dzięki.

[ Dodano: 2012-02-09, 18:16 ]
Został jeszcze jeden problem, w nagłówku w prawej sekcji jest label w którym chciałbym umieścić logo (teraz tam jest wpisany text).
Czy da się coś takiego zrobić i najlepiej jakby obrazek z logo był gdzieś umieszczony w excelu bo potem wrzucę to jako dodatek do excela i przekaże wielu użytkownikom. Umieszczam poprawiony załącznik oraz logo

[ Dodano: 2012-02-10, 10:24 ]
Częściowo problem rozwiązałem, po pierwsze zmieniłem obrazek na .jpg, potem zmieniłem label na image control, znalazłem kod na wczytywanie obrazka do kontrolki image. Tylko nie potrafię z kontroliki image przekazać do nagłówka. Dodałem nowy załącznik Przykład 7 + logo.jpg

Kod do wczytania obrazka do nagłówka
Kod:

MySheet.PageSetup.RightHeader = Image1.Name


dałem narazie .Name bo nie wiem co tu dać próbowałem różnych opcji

Przykład 7.zip
Pobierz Plik ściągnięto 3 raz(y) 38.15 KB

ID posta: 148136 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum