How do I track who uses my Excel spreadsheet? -
i created excel spreadsheet boss wants put on company's internal website. spreadsheet contains seldom-used, esoteric, handy functions employees within company find useful.
the problem don't know future users are, , boss wants me identify uses spreadsheet.
he asked password-protect excel spreadsheet in such way 1 password not unlock of copies people can download site. example, can't make password "stackoverflow" because once user legitimately gets password me, , shared other people, can used within company unlock subsequently downloaded spreadsheets. never able ascertain using spreadsheet. also, cannot modify website, hope achieve tracking of users through excel , email.
is there way have excel randomly generate string, user emails me, , respond appropriate password unlock file (based off generated string)? requires user check in me before using spreadsheet (the ideal situation).
is such arrangement possible in excel 2010 professional plus?
i think password protection in method describe unnecessarily cumbersome if doable @ all.
he asked password-protect excel spreadsheet in such way 1 password not unlock of copies people can download site.
i can't imagine how might possible using excel. maybe add-in this, @ file level, don't think done, @ least not easily.
i never able ascertain using spreadsheet.
it sounds important bit. not using password security measure, gatekeeping method determine who using file. can automated in other ways, easiest of use environment
variables, e.g.:
msgbox environ("username")
display message box current user's name.
you can assign environ("username")
string variable, , example automate outlook send email "john doe has opened file", or effect. if want avoid getting email every time, tweaking named range variable in excel file, macro send email once, etc.
alternatively, may able write log/txt file shared network location (of course, assuming user connected network) instead of sending emails.
update
here example code i've taken places around web, send email user. have modify sendto
lines use email address recipient, etc.
put in workbook's code module, should email time open file:
option explicit private sub workbook_open() ' example uses late-binding instead of requiring add'l reference ' ms outlook 14.0 object library. dim oapp object 'outlook.application 'object dim ns object 'namespace dim fldr object 'mapifolder dim mitem object 'outlook.mailitem dim sendto object 'outlook.recipient dim boutlookfound boolean on error resume next set oapp = getobject(, "outlook.application") boutlookfound = err.number = 0 on error goto 0 if not boutlookfound set oapp = createobject("outlook.application") 'new outlook.application '# set namespace , folder can add recipients set ns = oapp.getnamespace("mapi") set fldr = ns.getdefaultfolder(6) 'olfolderinbox '# create outlook mailitem: set mitem = oapp.createitem(0) 'olmailitem '# assign recipient set sendto = mitem.recipients.add("yourname@company.com") sendto.type = 1 'to olto '# assign recipient set sendto = mitem.recipients.add("yourmanager@company.com") sendto.type = 1 '# validate recipients (not necessary if qualify valid email addresses: each sendto in mitem.recipients sendto.resolve next mitem.subject = "a user has opened excel file" mitem.body = "this automated message inform " & _ environ("username") & " has downloaded , using file." mitem.save mitem.send 'if outlook not open, quit if not boutlookfound oapp.quit set oapp = nothing end sub
Comments
Post a Comment