Vytváření, úprava a používání šablon ve Wordu - 6.díl

11. 11. 2018

Sdílet

Autor: PCWorld.com
Kromě vytváření, úpravy a používání šablon můžete v programu Microsoft Word vytvářet i svoje vlastní šablony, například když pracujete na projektech speciálního charakteru.

Předcházející díl

 

V programu MS Word, který je součástí kancelářského balíku MS Office, se šablonami rozumí dokumenty s již předdefinovaným vzhledem, které vytváříte buď vy, nebo někdo jiný (třeba Microsoft) a které se následně používají jako vzorové dokumenty v konkrétních projektech.

Přidání interaktivní komponenty k šabloně

U některých šablon se vyskytují interaktivní ovládací prvky, které umožňují vložení nějakého vstupu od uživatele. Uveďme si konkrétní příklad: V jedné nadnárodní bance se každý měsíc setkávají vedoucí poboček, jejich asistenti a poskytovatelé půjček na jedné ze dvanácti poboček. Jako asistent máte za úkol poslat všem těmto účastníkům e-mail s údaji datu, času a místě konání včetně údajů o dalších hostech, tématech jednání a o veškeré další agendě. Jednou z možností je přepisování všech dat ve standardní šabloně. Existuje však ještě jedna efektivnější cesta – cesta vytvoření šablony, kde budete různé varianty vybírat přímo ze seznamu. Může to vypadat kupříkladu takto:

1. ze všeho nejdříve si vytvořte šablonu a poté se rozhodněte, která pole (údaje) se budou ze seznamu vybírat.

2. Klepněte na záložku Vývojář.

3. Umístěte kurzor myši na místo, kam se má daný údaj (například datum) vložit.

4. Klepněte do nabídky Vložení > Text > Rychlé části > Pole a následně z panelu Kategorie vyberte položku Date a poté ještě vyberte v panelu Vlastnosti pole vhodný formát data. Nakonec stiskněte tlačítko OK. Od této chvíle se bude datum aktualizovat zcela automaticky.

Vložení pole s datem, kde se datum aktualizuje automaticky

5. Nyní v šabloně umístěte kurzor na místo, kam se má datum vložit.

6. Klepněte do nabídky Vývojář > sekce Ovládací prvky > Ovládací prvek obsahu pro pole se seznamem. Word nyní tento prvek umístí do vaší šablony.

7. Při vybrané nabídce Vývojář klepněte do sekce Ovládací prvky > Vlastnosti, čímž zobrazíte dialogové okno Vlastnosti ovládacího prvku obsahu.

8. Nyní klepněte na tlačítko Přidat, zadejte do dialogového okna Přidat volbu název pobočky, a stiskněte tlačítko OK. Tento postup opakujte tak dlouho, dokud nezadáte všechny pobočky. Nakonec dialogové okno stiskem tlačítka OK zavřete.

Vložením ovládacího prvku obsahu pro pole se seznamem umožníte uživatelům vybírat jednotlivé možnosti ze seznamu

9. Pokud budete chtít upravit, odstranit, popřípadě přesunout položku nahoru nebo dolů, pak položku označte a následně stiskněte příslušné tlačítko.

10. U písma používaného uvnitř ovládacího prvku můžete upravit barvu rámečku ovládacího prvku a změnit či vytvořit vlastní styl písma (font, barvu, atributy atd.)

11. Kroky 5 až 8 nyní opakujte pro všechny ostatní ovládací prvky obsahu pro pole se seznamem – jedná se o pole pro zadání data a času konání, pro hosty a témata jednání.

12. Nakonec uložte dokument jako šablonu Wordu s příponou *.dotx.

Cyber25

 

Pokračování

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »