Category Archives: Office

Visual Studio: Když nefunguje klávesová zkratka Ctrl+Shift+F12 – Next Error

Ve VisualStudiu mi přestala fungovat klávesová zkratka Ctrl+Shift+F12, přestože při ověření v Options je korektně namapovaná.

Obvyklou příčinou bývá požírání klávesové zkratky jinou aplikací. Vylučovací metodou se ukázalo, že pachatelem je Microsoft Teams, které když běží, klávesová zkratka ve VS nefunguje (přestože samotná aplikace Teams mezi svými Keyboard shortcuts zkratku nemá uvedenou).

Zavření aplikace Teams pomůže, Ctrl+Shift+F12 začne fungovat.

…pokud byste chtěli hlasovat pro feedback na UserVoice:
https://microsoftteams.uservoice.com/forums/555103-public-preview/suggestions/17156756-application-hides-the-ctrl-shift-f12-keyboard-sh

Outlook: Jak se zbavit zobrazování pozvánek, na které jsem dosud nereagoval, v kalendáři?

Chodí mi ve formě meeting requestů spousta pozvánek na kde-co a vadí mi, že se mi zobrazují v mém už tak plném kalendáři (jako faded – světlejší), přestože jsem je ještě nečetl, natož abych na ně reagoval. V mém případě se jedná například o různé firemní sportovní aktivity nebo on-line cally Microsoftu pro MVPs, atp.

image

Našel jsem cestu, jak se zobrazování těchto pozvánek v kalendáři zbavit. Možná existuje nějaký jednodušší přepínač (dejte kdyžtak vědět v komentářích), ale mně funguje toto:

Na záložce View, volba Settings:

image

Filter:

image

Záložka Advanced, přidat pravidlo pro Meeting Status (pod All Appointment Fields) not equal to Not yet responded:

image

Add to list, OK, OK:

image

Pravidlo se dá samozřejmě vyladit dle individuální potřeby, např. omezit na „které jsem dosud nečetl“, atp.

Pravidlo je samozřejmě omezeno na View, do kterého jste ho přidali. Používáte-li Views více, je potřeba přidat do všech.

Pomalý start programu Microsoft Word

Již se mě na několika počítačích stalo, že MS Word se spouštěl extrémně pomalu. Pomohlo následující řešení. Je třeba smazat soubor „Normal.dot“, „Normal.dotm“ nebo „Normal.dotx“, podle verze MS Wordu. Tento soubor je poškozen. Ve Windows 8, Windows 7 a Windows Vista se některý s těchto souborů nachází zde: „%appdata%\Microsoft\Templates“. Po následujícím spuštění Wordu je soubor znovu automaticky vytvořen.

Vypnutí animací v Office

Další z množiny tweaků, které na svém počítači aplikuji a nebaví mě to pokaždé hledat:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Graphics]
"DisableAnimations"=dword:00000001

…v novějších verzích Office to samozřejmě bude potřeba upravit.

Outlook: Automatické vypnutí reminderu na příchozích meeting requestech

Můj kalendář je hodně plný a poslední, co bych chtěl, je připomínání každého jednotlivého meetingu (obzvláště ne v době, kdy si připomenutí na meeting-requestu nastavil organizátor schůzky). Remindery si nastavuji výjimečně a chci je mít na událostech, kde si to explicitně určím já.

Hledal jsem tedy způsob, jak automaticky na příchozích žádostech o schůzku automaticky vypínat připomenutí. Našel jsem VBA snippet, který to zařizuje. Protože ale nejsem žádný Outlook-developer, raději si poznamenám celý proces, jak to zprovoznit (návod dávám pro Outlook 2013, ale bude to všude podobné):

  1. V Outlooku dám Alt + F11 (nebo na ribbonu Developer volbu Visual Basic, pokud máte zapnutý).
  2. Ve stromu vlevo vyberu položku ThisOutlookSession (laicky si to představuju jako obdobu global.asax :-))
  3. Do okna pro kód dáme:
    Private WithEvents Items As Outlook.Items
    
    Private Sub Application_Startup()
      Dim Ns As Outlook.NameSpace
    
      Set Ns = Application.GetNamespace("MAPI")
      Set Items = Ns.GetDefaultFolder(olFolderInbox).Items
    End Sub
    
    Private Sub Items_ItemAdd(ByVal Item As Object)
      On Error Resume Next
      Dim Meet As Outlook.MeetingItem
      Dim Appt As Outlook.AppointmentItem
    
      If TypeOf Item Is Outlook.MeetingItem Then
        Set Meet = Item
    
        Meet.ReminderSet = False
        Meet.Save
    
        Set Appt = Meet.GetAssociatedAppointment(True)
    
        If Not Appt Is Nothing Then
          Appt.ReminderSet = False
          Appt.Save
        End If
      End If
    End Sub
    
  4. Skript je potřeba ještě podepsat. V menu Tools zvolíme Digital Signatures
  5. Tlačítko Choose a vybereme certifikát. Pokud nemáme žádný k dispozici, vytvoříme si jej snadno pomocí
    C:\Program Files\Microsoft Office\Office15
  6. Uložit.
  7. Restartovat Outlook.

Pokud by se Outlook vzpouzel spustit, tak outlook /safe a ladit dle vlastních dispozic. ;-)

Word se ptá na ukládání změn v šabloně, může za to Send to Bluetooth add-in od Intelu

Na novém notebooku se mě Word 2013 při každém zavírání souboru založeném na vlastní šabloně ptá, jestli chci uložit změny do šablony.

image

Ptá se dokonce dvakrát. Ptá se, i když jenom poklepáním na náš DOTX založím nový soubor, vůbec nic neudělám a hned ho chci zavřít.

Ukázalo se, že se přestane ptát, pokud vypnu “Send to Bluetooth” COM-Add-In od Intelu (ani nevím, k čemu by mi byl).

Word > Files > Options > Add-Ins:

image

dole Manage: COM Add-ins, Go…

image

a vypnout “Send to Bluetooth”.

…a Word už se na nic neptá.

Číslování stránek slovy v MS Word

  1. Vložte si do stránky klasické číslování (automatické pole)
  2. Pravým tlačítkem klikněte na číslo stránky a zvolte Toggle Field Codes
  3. Předpis pro automatické pole změňte ručně na
    • {PAGE \* CardText \* MERGEFORMAT} – pokud chcete číslo ve formátu „jedna“, „dva“
    • {PAGE \* OrdText \* MERGEFORMAT} – pokud chcete číslo ve formátu „první“, „druhý“, „třetí“ (bohužel nikoliv druhá)
    • …nejspíš se dají najít i další řídce dokumentované možnosti formátování
  4. Přepněte zpět pomocí Toggle Field Codes na výsledné zobrazení

Excel: Podmíněný součet SUMIF s odkazem na jinou buňku v podmínce

Opět jsem chvíli bádal, tentokrát, jak zapsat do funkce SUMIF podmínku, která by se odkazovala na hodnotu jiné buňky. Např. chci sečíst hodnotu, pokud je větší než hodnota v jiné buňce (konkrétně jsem řešil jakési plovoucí součty umořování, ale to ten není podstatné). Důležité je, že pokud se potřebuji v podmínce (criteria), která je jinak textovým řetězcem, odkázat na hodnotu určité jiné buňky, tak si tam mohu hodnotu té jiné buňky prostě dostat textovým skládáním onoho řetězce:

= SUMIF(C2:C10; ">" & A2; B2:B10)

…jak prosté.

Viz též Excel: Podmíněný součet SUMIF s podmínkou na (ne)prázdné buňky.

Outlook 2010: Při kliknutí na hyperlink v mailu se zobrazí „This operation has been cancelled due to restrictions in effect on this computer.“

Pachatelem problému je pravděpodobně prohlížeč Chrome (resp. jeho „interakce“ s registry a Outlookem).
Postup řešení je jednoduchý:

  1. Spustit editor registrů (regedit)
  2. Otevřít větev HKEY_CURRENT_USER\Software\Classes\.html
  3. Kliknout pravým tlačítkem na položku .html a zvolit upravit.
  4. Změnit hodnotu z „ChromeHTML“ na „htmlfile“ (nebo z čehokoliv jiného na „htmlfile“)
  5. To samé pro .htm, .shtml a .xhtml

Konfigurace: Microsoft Windows 7 x64, IE8, Microsoft Outlook 2010 x64.

Excel: Podmíněný součet SUMIF s podmínkou na (ne)prázdné buňky

Chvíli jsem bádal, jak zapsat podmínku do funkce SUMIF, pokud chci sečíst jen buňky, kterým odpovídá kritérium (ne)prázdné buňky.

Pro prázdné buňky je to

=SUMIF(C2:C10;"=";B2:B10)

Pro neprázdné buňky je to

=SUMIF(C2:C10;"<>";B2:B10)

…pozoruhodná podoba podmínky, ale hlavně, že to funguje.