{"text_format":"1","workbook":"xlsx","n_sheets":4,"sheets":["Index","Test Sheet A","Test Sheet B","P99-Control"],"not_rendered":{"charts":0,"images":1,"macros":1,"external_links":0,"defined_names":50,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Index","index":0,"n_rows":15,"n_cols":4,"rows_kept":15,"cut":false,"hidden":false,"merged":[]}
[null,null,"On the Edge of Tomorrow"]
[null,null,"Lockdown"]
[null,null,"Version 0.1"]
[null,null,"See post:","https://sprestridge.net//excel/2016/10/18/Lock-Down-Workbook.html"]
[null,"Index Sheet"]
[null,"This workbook demonstrates using VBA to set an expiration date. If the file is opened beyone the expiration date"]
[null,"set on the control worksheet the file will present a message box to the user asking them to contact the POC which"]
[null,"can also be set on the control worksheet. The control worksheet is set to 'very hidden' and must be unhidden via"]
[null,"running the macro (cm_Unhide_Control_Sheet) or manually in the VBA editor."]
[]
[null,null,"Worksheets (note: hyperlinks to hidden sheets do not work)"]
[null,null,"Index"]
[null,null,"Test Sheet A"]
[null,null,"Test Sheet B"]
[null,null,"P99-Control"]

{"sheet":"Test Sheet A","index":1,"n_rows":4,"n_cols":2,"rows_kept":4,"cut":false,"hidden":true,"merged":[]}
[]
[null,"Sensitive Sheet A"]
[null,"These worksheets will automatically be hidden when the workbook is opened after expiration date set on the control sheet."]
[null,"Otherwise it is visible to the user."]

{"sheet":"Test Sheet B","index":2,"n_rows":4,"n_cols":2,"rows_kept":4,"cut":false,"hidden":true,"merged":[]}
[]
[null,"Sensitive Sheet B"]
[null,"These worksheets will automatically be hidden when the workbook is opened after expiration date set on the control sheet."]
[null,"Otherwise it is visible to the user."]

{"sheet":"P99-Control","index":3,"n_rows":11,"n_cols":5,"rows_kept":11,"cut":false,"hidden":true,"merged":[]}
[]
[null,"Sent to","John Doe","= rng_control_to","User entry: This would typically be your client or the client that will serve as admin."]
[null,"Date","2016-10-18","= rng_control_date","User entry: Date you sent the file."]
[null,"Duration",18,"= rng_control_duration","User entry: Number of days before the file/data expires."]
[null,"Expiration",{"$f":"rng_control_date+rng_control_duration","v":"2016-11-05"},"= rng_control_expire","Calculated field."]
[]
[null,"Today",{"$f":"TODAY()","v":"2020-09-06"},"= rng_control_today","Calculated field."]
[]
[null,"Contact"]
[null,"Name","Jane Doe","= rng_control_from","User entry: Typically you, the developer, or whoever the client specifies end users should contact once file is past expiration."]
[null,"Contact","doe_jane@NoDomain.com","= rng_control_contact","User entry."]