pageMargins() {
        if (this.pageMarginsPreset() === undefined) {
            throw new Error('Sheet.pageMargins: preset is undefined.');
        }
        const supportedAttributeNames = [
            'left', 'right', 'top', 'bottom', 'header', 'footer'];
        const checkAttributeName = this._getCheckAttributeNameHelper('pageMargins', supportedAttributeNames);
        const checkRange = this._getCheckRangeHelper('pageMargins', 0, undefined);
        return new ArgHandler('Sheet.pageMargins')
            .case(['string'], attributeName => {
                checkAttributeName(attributeName);
                const attributeValue = this._pageMarginsNode.attributes[attributeName];
                if (attributeValue !== undefined) {
                    return parseFloat(attributeValue);
                } else if (this._pageMarginsPresetName) {
                    return parseFloat(this._pageMarginsPresets[this._pageMarginsPresetName][attributeName]);
                } else {
                    return undefined;
                }
            })
            .case(['string', 'nil'], attributeName => {
                checkAttributeName(attributeName);
                delete this._pageMarginsNode.attributes[attributeName];
                return this;
            })
            .case(['string', 'number'], (attributeName, attributeNumberValue) => {
                checkAttributeName(attributeName);
                checkRange(attributeNumberValue);
                this._pageMarginsNode.attributes[attributeName] = attributeNumberValue;
                return this;
            })
            .case(['string', 'string'], (attributeName, attributeStringValue) => {
                return this.pageMargins(attributeName, parseFloat(attributeStringValue));
            })
            .handle(arguments);
    }
Set the page margin (or override the preset) given an attribute name and a value.
@param {string} attributeName - Attribute name of the pageMargins. See get page margin for list of valid attributes.
@param {undefined|number|string} attributeStringValue - If `undefined` then set back to preset value, otherwise, set the given attribute value.
@returns {Sheet} The sheet.