Napilla tallennus uuteen sheettiin ja muuta..

Taas olisin apua vailla..

Onko VBA koodi mahdollista piilottaa esim. salasanan taakse? Asiakirjan 'täydellisessä' suojauksessa VBA- koodia on mahdollista katsoa ja sieltä saa ilman salasanaa asiakirjan suojauksen pois..

..ja sitten asiaan..


Minulla on asiakirja missä on sheetit nimeltä: "Malli", "Toiminnot"

"Malli" -sheetti sisältää asiakirjamallin ja se saisi olla piilotettu tai sen avaaminen vaatisi salasanan, jotta asiaton ei siihen yrittäisi tehdä muutoksia..

"Toiminnot"- sheetissä on erilaisia nappeja, kuten: "Tulosta", "Uusi", ja jotain muita..

Painettaessa "Uusi" - Ohjelman pitäisi kysyä päivämäärää, ja lisätä päivämäärän niminen sheetti asiakirjaan, käyttäen pohjana piilotettua "Malli"- sheettiä

Painettaessa "Tulosta" - Ohelman pitäisi avata MsgBox, johon tulee alasvetolaatikko, jossa on kaikkien sheettien nimet, lukuunottamatta "Malli" ja "Toiminnot".. Alasvetolaatikosta voisi siis valita minkä asiakirjan haluaa tulostaa..

Eiköhän tässä taas ole vähäksi aikaa..


..ja taas kysyn, että olisiko netissä jotain kattavaa (miel. suomenkielestä) VBA/VB- tutoriaalia, jossa olisi kerrottu kattavasti asiasta..

..ja kirjasuosituksia olisi myös kiva saada..
2614
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Vba koodin piilotus VBA editorissa Tool/VBAProject Properties/Protection sivulla ruksi ruutuun Lock Project for viewing ja salasanat molemmille riveille

ja asiaan...

Vba editorin puolella muuta muotoilujen jälkeen Taulukon Malli ominaisuuksissa visible ominaisuus xlSheetVisible --> xlSHeetVeryHidden
Toiminnot taulukon moduuliin lisää koodit

Dim Päiväys As Variant
Dim Kopioalue As Range
Private Sub CommandButton1_Click()' lisää uusi taulukko nappi
On Error GoTo virhe
uudelleen:
Päiväys = Application.InputBox("Anna lisättävä taulukon nimipvm", "Taulukon lisäys", Format(Date, "dd.mm.yyyy"))
If Päiväys = False Then Exit Sub
Worksheets.Add Count:=1, After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Päiväys
Set Kopioalue = Sheets(Päiväys).Range("A1")
Sheets("Malli").Visible = xlSheetVisible
Sheets("Malli").Cells.Copy Destination:=Kopioalue
Application.CutCopyMode = False
Sheets("Malli").Visible = xlSheetVeryHidden
Sheets("Toiminnot").Activate
Range("A1").Select
Exit Sub
virhe:
MsgBox "Taulukko nimeltään" & Päiväys & " on jo olemassa.! Anna toinen nimi"
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
Sheets("Toiminnot").Activate
Range("A1").Select
Exit Sub
End Sub

Private Sub CommandButton2_Click()' tulosta nappi
UserForm1.Show
End Sub

lisää userform ja sinne combobox1 ja commandbutton1 (nimeä itselle sopiviksi)
ja lomakkeeseen koodi

Private Sub CommandButton1_Click()
If ComboBox1 = "" Then Exit Sub
Worksheets(ComboBox1.Text).Activate
Range("A1:H43").Select 'muuta tulostusalue
'poistetaan varoitukset käytöstä
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("A1").Select 'tulostusvalinnan poisto
Sheets("Toiminnot").Activate
Range("A1").Select
Application.DisplayAlerts = False
End Sub

Private Sub UserForm_Initialize()
For i = 1 To Sheets.Count
If Not Sheets(i).Name = "Malli" And Not Sheets(i).Name = "Toiminnot" Then
ComboBox1.AddItem Sheets(i).Name
End If
Next i
End Sub

Äänestä
  • ..jälleen kerran erittäin paljon..

    Äänestä

Kommentoi aloitusta


janne-t kirjoitti:

Taas olisin apua vailla..

Onko VBA koodi mahdollista piilottaa esim. salasanan taakse? Asiakirjan 'täydellisessä' suojauksessa VBA- koodia on mahdollista katsoa ja sieltä saa ilman salasanaa asiakirjan suojauksen pois..

..ja sitten asiaan..


Minulla on asiakirja missä on sheetit nimeltä: "Malli", "Toiminnot"

"Malli" -sheetti sisältää asiakirjamallin ja se saisi olla piilotettu tai sen avaaminen vaatisi salasanan, jotta asiaton ei siihen yrittäisi tehdä muutoksia..

"Toiminnot"- sheetissä on erilaisia nappeja, kuten: "Tulosta", "Uusi", ja jotain muita..

Painettaessa "Uusi" - Ohjelman pitäisi kysyä päivämäärää, ja lisätä päivämäärän niminen sheetti asiakirjaan, käyttäen pohjana piilotettua "Malli"- sheettiä

Painettaessa "Tulosta" - Ohelman pitäisi avata MsgBox, johon tulee alasvetolaatikko, jossa on kaikkien sheettien nimet, lukuunottamatta "Malli" ja "Toiminnot".. Alasvetolaatikosta voisi siis valita minkä asiakirjan haluaa tulostaa..

Eiköhän tässä taas ole vähäksi aikaa..


..ja taas kysyn, että olisiko netissä jotain kattavaa (miel. suomenkielestä) VBA/VB- tutoriaalia, jossa olisi kerrottu kattavasti asiasta..

..ja kirjasuosituksia olisi myös kiva saada..

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu