All Projects → fernandreu → Office Ribbonx Editor

fernandreu / Office Ribbonx Editor

Licence: mit
An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF

Projects that are alternatives of or similar to Office Ribbonx Editor

Docs2Pdf
Bulk convert word/powerpoint/excel file to pdf.
Stars: ✭ 27 (-86.83%)
Mutual labels:  excel, word, office, powerpoint
OfficeExtractor
Extracts embedded OLE objects from Word, Excel, PowerPoint, Open Office and RTF files without needing the original programs
Stars: ✭ 67 (-67.32%)
Mutual labels:  excel, word, office, powerpoint
Office365FiddlerExtension
This Fiddler Extension is an Office 365 centric parser to efficiently troubleshoot Office 365 client application connectivity and functionality.
Stars: ✭ 23 (-88.78%)
Mutual labels:  excel, word, office, powerpoint
rgpipe
lesspipe for ripgrep for common new filetypes using few dependencies
Stars: ✭ 21 (-89.76%)
Mutual labels:  excel, word, office, powerpoint
craXcel-cli
Command line application to unlock Microsoft Office password protected files.
Stars: ✭ 44 (-78.54%)
Mutual labels:  excel, word, office, powerpoint
Vbasync
Cross-platform tool to synchronize macros from an Office VBA-enabled file with a version-controlled folder
Stars: ✭ 98 (-52.2%)
Mutual labels:  excel, powerpoint, word
Kkfileviewofficeedit
文件在线预览及OFFICE(word,excel,ppt)的在线编辑
Stars: ✭ 234 (+14.15%)
Mutual labels:  excel, office, word
Gotenberg Php Client
PHP client for the Gotenberg API
Stars: ✭ 80 (-60.98%)
Mutual labels:  excel, powerpoint, word
Npoi
A .NET library for reading and writing Microsoft Office binary and OOXML file formats.
Stars: ✭ 1,751 (+754.15%)
Mutual labels:  excel, office, word
Rage
Rage allows you to execute any file in a Microsoft Office document.
Stars: ✭ 68 (-66.83%)
Mutual labels:  excel, word, powerpoint
Fluent.ribbon
WPF Ribbon control like in Office
Stars: ✭ 1,895 (+824.39%)
Mutual labels:  office, ribbon, wpf
Mschart
📊 mschart: office charts from R
Stars: ✭ 94 (-54.15%)
Mutual labels:  powerpoint, office, word
Androiddocumentviewer
Android 文档查看: word、excel、ppt、pdf,使用mupdf及tbs
Stars: ✭ 235 (+14.63%)
Mutual labels:  excel, office, word
Unioffice
Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents
Stars: ✭ 3,111 (+1417.56%)
Mutual labels:  excel, powerpoint, word
Gotenberg Go Client
Go client for the Gotenberg API
Stars: ✭ 35 (-82.93%)
Mutual labels:  excel, powerpoint, word
Docxtemplater
Generate docx pptx and xlsx (Microsoft Word, Powerpoint, Excel documents) from templates, from Node.js, the Browser and the command line / Demo: https://www.docxtemplater.com/demo
Stars: ✭ 1,990 (+870.73%)
Mutual labels:  excel, powerpoint, word
Desktopeditors
An office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents
Stars: ✭ 1,008 (+391.71%)
Mutual labels:  excel, office, word
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+1039.02%)
Mutual labels:  excel, office, word
Evilclippy
A cross-platform assistant for creating malicious MS Office documents. Can hide VBA macros, stomp VBA code (via P-Code) and confuse macro analysis tools. Runs on Linux, OSX and Windows.
Stars: ✭ 1,224 (+497.07%)
Mutual labels:  excel, word
Phpspreadsheet
A pure PHP library for reading and writing spreadsheet files
Stars: ✭ 10,627 (+5083.9%)
Mutual labels:  excel, office

Office RibbonX Editor

Downloads Release Version .NET Framework .NET Build Status

Translators welcome! See below.

The Office RibbonX Editor is a standalone tool to edit the Custom UI part of Office open document file format. It contains both Office 2007 and Office 2010 custom UI schemas.

The Office 2010 custom UI schema is the latest schema and it's still being used in the latest versions of Office including Office 2013, Office 2016 and Office 365.

To learn more about how to use these identifiers to customize the Office ribbon, backstage, and context menus visit:

Improvements

This GitHub project is a fork of Custom UI Editor for Microsoft Office. Built on Windows Forms, the original editor by Microsoft is useful on its own, but it has some limitations. Rather than trying to address those limitations by performing small contributions to the original project, this repo offers a complete redesign of the project in Windows Presentation Foundation (WPF).

Features of this overhauled editor include:

  • ScintillaNET (via SctintillaNET.WPF) as text editor, with seamless syntax highlighting
  • The TreeView allows you to have more than one file open, easily switching between different customUI files (for example, for copying code from one file to another)
  • A multi-tab layout, allowing to have multiple files open simultaneously (including icon previews)
  • List of recently opened files showing up on the file menu (thanks to RecentFileList)
  • A Reload on Save option that avoids losing any external changes (for more info, see the section below)
  • Possibility of customizing some aspects of the editor such as font size and color
  • Plus all the features of the original Windows Forms project

Screenshot

Download / Build status

To download the latest release, go to the following link:

https://github.com/fernandreu/office-ribbonx-editor/releases/latest

To download the latest development build instead, go to the Artifacts section on Azure Pipelines:

https://dev.azure.com/fernandreu-public/OfficeRibbonXEditor/_build/latest?definitionId=1&branchName=master

How does the Reload on Save option work?

An Office 2007+ file (.xlsm, .xlam, .pptm, .docx, etc.) is nothing more than a .zip file with a custom extension. When the Office RibbonX Editor opens one of those files, it unzips it into a temporary location first, and then it shows the content from there. To save the file, it will apply any changes to the unzipped files, and zip everything back to its original location.

The way you would use the original Custom UI Editor is similar to the following:

  1. If the file you want to edit is open in Excel, close it first
  2. Open that file in the Custom UI Editor
  3. Edit the xml files, icons, etc.
  4. Save the file in the Custom UI Editor (and close it if you wish)
  5. Open the file back in Excel, and enjoy the changes you just made

However, what would happen if you forget Step 1 and Excel has the same file open when you are using the tool? Your workflow could then look like this instead:

  1. Open that file in the Custom UI Editor
  2. Edit xml files, icons, etc.
  3. You realise you had the file open in Excel, so you close it there first
    • But you also had unsaved changes in Excel, so you save the file before closing it
  4. Save the file in the Custom UI Editor (and close it if you wish)
    • Remember: all this time since Step 1, the Custom UI Editor was looking at a temporary unzipped copy of the Excel file that did not include the changes saved in Step 3!
  5. Open the file back in Excel. The changes you made in the Custom UI Editor (Step 2) are there, but the ones you did in Excel (Step 3) have disappeared

The Reload on Save button adds an extra step to the process as a safety precaution in this scenario. In essence, Step 4 will no longer use the temporary unzipped copy of the Excel file that was generated in Step 1, but will generate a new one instead. As a consequence, any external changes you might have done in the meantime (i.e. Step 3) will no longer get lost. If you did not make any external changes, the Reload on Save button won’t have any noticeable impact for you.

Do you want to see the tool in your language?

Any help improving existing translations or adding new ones is welcome. I will add your names to a list of acknowledgments, either in this readme or in the About section of the tool itself.

Improving an existing translation

If you get stuck in any step, feel free to create an issue and I will assist you.

  1. Find the file you want to edit on this GitHub project
    1. All translations are Strings.xyz.resx files stored in src/OfficeRibbonXEditor/Resources
    2. The xyz part is what indicates the language contained in the file
    3. For example, the Spanish translation is stored in the Strings.es.resx file here
  2. Click on the Edit button at the top-right corner
    1. This might trigger a fork of this project under your GitHub account (otherwise, it will occur when saving any changes)
  3. Make any necessary changes
    1. The <data> tags are essentially the string resources throughout the application
    2. Their name attribute is how they are being identified internally. This might provide some hints about their intended use
    3. Otherwise, there might also be a child <comment> tag providing more details about a particular resource
    4. Only the child <value> tags should need modifications
  4. Save the changes at the bottom
    1. This should trigger a commit of the file in your forked repository, and perhaps a pull request to this repository too
    2. If the pull request does not occur automatically, you might see some buttons either in your fork or here to do so

Creating a translation for a new language

These steps are recommended for people that are already a bit familiar with the Git / GitHub workflow. If this is not your case, please create an issue instead. I will then generate a template myself, so you will be able to follow the previous steps instead of these ones.

  1. Create a copy of the Strings.resx file here, which contains the default English language
    1. If you want, you can also create the copy from an existing translation (e.g. Strings.es.resx for Spanish here)
  2. Name the copy Strings.xyz.resx, with xyz being your language tag
    1. For a list of available language tags, see the table in this page
    2. There is no need to specify the country in the language tag as well (i.e. de, pt, ru, etc. is enough)
  3. Put the file in the same src/OfficeRibbonXEditor/Resources folder where the original file was
  4. Make any necessary changes to this file
    1. The <data> tags are essentially the string resources throughout the application
    2. Their name attribute is how they are being identified internally. This might provide some hints about their intended use
    3. Otherwise, there might also be a child <comment> tag providing more details about a particular resource
    4. Only the child <value> tags should need modifications
  5. Modify the LanguageChoice class here to add your new language into the All collection

It might be possible to perform all these steps directly in your GitHub fork via several commits. Otherwise, you might need to have at least Git installed. Visual Studio should not be necessary unless you want to see how your translation looks (you will be able to see it from the build artifacts of your pull request too).

Special thanks to all translators so far

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].