title: Google Sheets Apps Script get range of entire sheet even if it has no data
body: <p>Let's say I define a sheet <code>thissheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(name)</code> where <code>name</code> is a string with the name of one of my sheets.</p>
  <p>I know if I have data in the sheet, I can use <code>thissheet.getDataRange()</code> to select it all.
  Or, alternately <code>thissheet.getRange(1,1,thissheet.getLastRow(),thissheet.getLastCol())</code></p>
  <p>But what if I want the whole sheet selected as a range regardless of whether it has data or not?</p>
  <p>Or, in my particular instance, I have ran <code>thissheet.clear()</code> and cleared all the data in my sheet but I need to use <code>thissheet.somerange.removeCheckboxes()</code> where <code>somerange</code> basically represents the entire sheet as a <code>Range</code> object to clear all the empty checkboxes left behind because <code>clear()</code> doesn't clear the checkboxes.</p>
  <p>OK, so first thing is I need to make sure I run <code>thissheet.dataRange().removeCheckboxes()</code> in my script sequence before <code>thissheet.clear()</code>. That works so long as I control everything and follow certain rules. This still leaves two problems:</p>
  <ol>
  <li><p>Once I deploy my script and other users start using it, it would be fairly easy for someone to clear the sheet and leave the checkboxes behind and it will cause my script to crash later because <code>.dataRange()</code> will effectively be no range.</p>
  </li>
  <li><p>If I have checkboxes in the last row or last column with no other data, they still won't get cleared because they won't be part of <code>.dataRange()</code></p>
  </li>
  </ol>
  <p>So how can I ensure all the checkboxes in my sheet have been removed?</p>