ID tematu: 27919
 |
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
|
|
|
 |
|
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
|
|
|
 |
|
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
|
|
|
 |
negatyv
Excel Expert


Zaproszone osoby: 4
Pomógł: 195 razy Posty: 910
|
|
 | ID posta:
147953
|
|
|
 |
|
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
|
|
|
 |
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
|
|
|
 |
|
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 wstawić zmienną
| 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
|
|
|
 |
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
|
|
|
 |
|
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
|
|
|
 |
|
|