Avatar billede lunddata Nybegynder
28. juli 2006 - 19:32 Der er 13 kommentarer og
1 løsning

Kopiere ark fra flere brugere til fælles projektmappe

Prøver lige igen.
Givet:
1)flere brugere med hver sit regneark.
2)fælles projektmappe (denne ønskes beskyttet, således at hver enkelt bruger ikke har læseadgang)

Ønsker:
Hver enkelt bruger skal via trykknap (makro) have mulighed for at gemme eget ark i fælles projektmappe.

Ovenstående vil kunne tilfredsstille ønsket om at elever vil kunne aflevere opgaver uden at have læseadgang.

Kan dette lade sig gøre og hvordan?
(Er ikke interesseret i en løsning med FUNKTIONER => DEL PROJEKTMAPPE)
Avatar billede gibber Nybegynder
28. juli 2006 - 20:14 #1
Her er et bud.

Forudsætning: Alle elever benytter hvert deres login.

Private Sub Workbook_Open()
'Denne makro forudsætter at der oprettes 1 ark (fx. opgavebeskrivelse) - Skal være det første ark
'Herefter skal der være et ark som er identisk med loginnavnet på dem som skal have mulighed for at
'udfylde et ark.

On Error Resume Next

Dim bruger As String, antalark As Integer, tæller As Integer
bruger = Environ("username")
antalark = Sheets.Count

For tæller = 2 To antalark ' OBS første ark skal være der. Evt. opgavebeskrivelse
Sheets(tæller).Visible = xlSheetVeryHidden 'Skjuler alle ark efter det første
Next tæller
Sheets(bruger).Visible = True 'Viser ark for den enkelte bruger

If bruger = "LÆRERLOOGIN" Then 'Lærerlogin ændres til loginnavn for den som skal se alle ark
For tæller = 2 To antalark
Sheets(tæller).Visible = True
Next tæller
Else: End If
End Sub
Avatar billede brynil Nybegynder
28. juli 2006 - 20:41 #2
Er Excels password beskyttelse ikke rimelig nem at komme uden om?

Har ikke den store erfaring, men ser da ofte henvisninger når nogen har problemer med at få adgang ved glemte passwords af forskellig art.

Fx. gemme en kopi af den delte projektmappe og pille ved den! Mere fordi der tales om lærer/elev situation og opgaver :) - kommer lige til at tænke på Gotha Andersens 'flid, fedt og snyd' ;))
Avatar billede gibber Nybegynder
28. juli 2006 - 21:07 #3
Jo excels sikkerhed er ret ringe. Det skal man være opmærksom på - man kan sagtens bryde den hvis man vil.
Avatar billede lunddata Nybegynder
29. juli 2006 - 10:22 #4
Er ikke helt med på beskyttelsen.
Jeg kan godt se at gibbers forslag til at returnere elevens svar til fælles projektmappe virker.
Avatar billede brynil Nybegynder
29. juli 2006 - 12:20 #5
Det var kun for at gøre opmærksom på, at der måske kunne være risici fordi Excels beskyttelse ikke har ry for at være fremragende. Det er slet ikke sikkert at det er et problem i dit scenario, men det er nok værd at ha med i tankerne.
Avatar billede lunddata Nybegynder
29. juli 2006 - 15:16 #6
Jeg tror ikke at det er et problem i mit scenario, men en form for beskyttelse vil jeg dog gerne have. Det jeg ikke er helt med på er beskyttelsen af fællesmappen i forhold til hver enkelt bruger/lærerlogin.
Hvordan vil konstruktionen nærmere se ud?
Avatar billede brynil Nybegynder
29. juli 2006 - 17:41 #7
Der hvor jeg tror der kan være et problem - hvis der altså er et - er at andre har adgang til den fælles workbook og kan gemme en kopi. Jeg vil tro det er enkelt for en der vil det, at knække de paswords der er til makroer mv og derigennem få vist alt indhold på workbook'en.

Måske gemme elevernes ark i en anden workbook der så kan sende det videre til den fælles ditto. Men det forudsætter nok at man kan begrænse adgang til den fælles workbook fra den pågældende midlertidige med adresse osv. Det er bare nogle tanker, for det er ikke et område jeg har beskæftiget mig særligt med.

Men så'n umiddelbart ville jeg selv forsøge ikke at give adgang til en workbook der indeholder oplysninger der ikke skal deles.

Håber du kan finde en løsning eller får eksperthjælp fra andre. :)
Avatar billede supertekst Ekspert
30. juli 2006 - 00:13 #8
Alternative strøtanker - lad eleverne sende arket pr. mail til lærer. Via VBA-kode - kan disse mails identificeres og opdateres i den fælles projektmappe og kvittering kan sendes retur - dette kræver naturligvis noget programmering.
Men det kan lade sig gøre - har prøvet...
Avatar billede lunddata Nybegynder
31. juli 2006 - 10:27 #9
Supertekst:
Det lyder som en rigtig god og fornuftig løsning, men som du nævner, vil dette kræve noget programmering. Jeg har ikke det store kendskab til VBA-kodning, men er der nogle henvisninger til hjælp herom kunne jeg godt tænke mig at arbejde videre.....
Avatar billede supertekst Ekspert
31. juli 2006 - 10:35 #10
Jeg har i andre systemer konstrueret noget der ligner - det vil jeg godt forelægge.
Avatar billede lunddata Nybegynder
31. juli 2006 - 11:58 #11
Er meget interesseret.
Avatar billede supertekst Ekspert
31. juli 2006 - 15:08 #12
Er IKKE en komplet løsning - men kun: Henter vedhæftede regneark i indbakken og indsætter dem på nye faneblade i LærerRegnark.

Indlægges i "LærerRegneark" - ThisWorkbook:

Rem OBS : Reference til Outlook SKAL sættes (Tools / References / Microsoft OutLook 11.0 Object Library - eller 10.0) - 11.0 = office2003 / 10.0 = officeXP

Private Sub testOmXLSMail()
Dim mailApp, Namespace, indbakke, m, vf, emne
    StatusBar = "Undersøger indbakke for regark fra elever..."

Rem opkald til outlook - indbakke
    Set mailApp = CreateObject("Outlook.Application")
    Set Namespace = mailApp.GetNamespace("MAPI")
    Set indbakke = Namespace.GetDefaultFolder(olFolderInbox)

Rem gennemløber mails
    If indbakke.Items.Count > 0 Then
        For m = 1 To indbakke.Items.Count
       
Rem er der en vedhft. fil
                If indbakke.Items(m).Attachments.Count > 0 Then
                    vf = LCase(indbakke.Items(m).Attachments(1).Filename)
Rem Test om .xls vedhæftet fil og ulæst
                    If InStr(vf, ".xls") > 0 And indbakke.Items(m).UnRead = True Then
                        emne = indbakke.Items(m).Subject
                        opdaterXLSmail emne, vf                'opdater i FællesMappe
Rem kan evt. slettes    indbakke.Items(m).Delete

Rem marker som læst
                        indbakke.Items(m).UnRead = False
                    End If
                End If
        Next m
    End If
End Sub
Private Sub opdaterXLSmail(emne, fil)
Dim xls As Object
    Set xls = CreateObject("Excel.Application")
    With xls
        .Workbooks.Open (fil)
        .Cells.Select
        .Selection.Copy
    End With
   
    ActiveWorkbook.Sheets.Add
    Sheets(1).Select
    ActiveSheet.Paste
    ActiveWorkbook.Sheets(1).Cells(1, 1).Select
    ActiveWorkbook.Sheets(1).Name = emne            'kan erstattes af elevnavn - evt. fra celle i opgavebesvarelsen
   
    xls.Application.CutCopyMode = False
    Set xls = Nothing
End Sub

Hvis det er nemmere - så send en mail til: pb@supertekst-it.dk - så sender jeg hele filen.
Avatar billede lunddata Nybegynder
03. august 2006 - 13:01 #13
Modtaget.
Takker mange gange for hjælp!
Avatar billede supertekst Ekspert
03. august 2006 - 14:38 #14
Selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester