Juggernath said:
LOL, i think he is not that lucid
If he's *really* not that lucid, then perhaps embedding a hidden name
would work. For instance, create your own template workbook, with the
student name in, say, cell A1 (and perhaps some boilerplate elsewhere to
make it look more legitimate). Then run this macro (from another
workbook - perhaps your Personal.xls workbook) for each student, saving
the workbook with their name A1 and embedded in the filename:
Public Sub InsertHiddenName()
ActiveWorkbook.Names.Add _
Name:="StudentName", _
RefersTo:=Sheet1.Cells(1, 1).Text, _
Visible:=False
End Sub
Send each student their own personal template and insist that they use
it for their homework. Now, if the cheater copies his own template and
changes the student name in A1 (and the filename), his hidden name will
still be there, which you can read in the immediate window with
Debug.Print ActiveWorkbook.Names("StudentName").RefersTo
Again, this is rather trivial for any sufficiently suspicious person to
find and work around, but it may trip up the ignorant.
What I'm thinking at this moment is to chrash MSExcel when one tries to
access macros, is it possible? I never heard of something like that, but,
maybi it could work.
As far as I know, it's not possible.
Then I can do whole bunch of macros to protect from
copy/paste etc.
That would prevent the legitimate students from using copy/paste, too,
right?
And your cheater could bypass any of your macros by opening the file
with macros disabled.
The cheater has a template, and I'm quite sure that he wouldnt have a time
to put all the formulas etc. to worksheet without copy/paste
Perhaps someone else can come up with something else, but if your
cheater is even moderately familiar with VBA, he'll be able to bypass or
work around everything you can throw at him.