LoginSignup
0
3

More than 3 years have passed since last update.

今更Word VBA Compatibility Word 97-2010までのファイルを開く、作成する方法

Last updated at Posted at 2020-03-20

ただいま2013から2016にはバグがあります

現在のWord2013以降は「句読点のぶら下げ」を設定しても2010と同じように動きません。Microsoftはこの事実を知りながら放置しています。2013の時から放置しているのはWord2013の句読点のぶら下げ処理で指摘されているからです。2013の句読点のぶら下げは機能していません。これはインチキです。原因はなぜかわかっています。レイアウトエンジンを書き換えて高速処化したからです。1行の文字数を計算する際、句読点がぶら下がると、1行の文字数が定まりません。特に行数と文字数を固定していれば、本来1文字加算されることがないからです。Word 2010までの句読点のぶら下げは、文字間隔を詰めない場合、余白に句読点を追い出すことです。ところが、2013になると、句読点のぶら下げを設定しても効いていません。仕様がバグっていないと思う人は単なる無知なので、一切抗議は受け付けない。マイクロソフトは直ちに修正しましょう。さらに現在唯一の回避方法は、互換モードで2010にするという方法です。行末の句読点をぶら下げにするというのは本来文字間隔を詰めなければ行末処理していたのはこのように明らかです。

Microsoft Wordの互換性まとめ

1.まずこの記事はPCの専門家でもプログラミングの専門家でもない非技術系の人間が書いているため、いろいろ誤解があるかもしれないということをご理解いただきたい。
2. 以前、できる限りずれないWordの書式設定をVBAで構築したときにレイアウトオプションをどのように設定すればよいか、ということを調べていくと、このレイアウトのオプションとは互換性のオプションであるということを知り、さらに調査をすすめた結果を記している。
3.Wordの互換性の問題が生じる本質的な問題は、Wordが横書きの欧文をきれいに見せる、という最初の目的がある。現在はこれにLatexに対抗するため数式と共同編集が加わっている。このため図、グラフ、表はすべてプレースフォルダーの中のものとして捉えられ優先順位が低い。このため互換性に問題が生じる。
4.さらに、Wordは現在、US政府版、EEU版(ドイツ語)、簡体中国語版の3つとWeb版がある。OSでもWin MAC Linuxがある。これら全てで互換性をなるべく保持するポイントは、Word for the webで制限がない機能であると言える。
5.Wordが上位互換性しかない第一の原因はWordが当初RTF形式だった点である。RTF形式をxmlに変えていくときに、Microsoftは互換性のない機能を削除してきたと考えられる。(font. Animationなど)
6.次にWordはバージョンごとにレイアウトエンジンを書き換えている。このため、レイアウトエンジンが違う解釈をして表示が異なる。美しく見せるための機能が邪魔をして異なるあるいは異常なレイアウトになる、バグが生じるということを起こしてきた。これが第二の原因である。また、これによりぶら下げインデントが機能していない。
7.第三の原因として、Word For The Webの制限事項、発掘したブログが示すようにWordの目的とは「横書きの英文(論文、ビジネス文書)がきれいにみえるようにレイアウトを調整する。また複数の人が同時に編集できる、さらに数式がきれいに表示される。ということを目指している。第三の目的の中に、ワードアート、画像は含まれていない。テーブル(表)もグラフも含まれていない。
これらは重視される度合いが低いことを意味していると考えられ、Wordがバージョンごとにレイアウトがくるってしまう、という現象を引き起こしている原因である。
8.この他に、日本語版ではフォントの変更(辻)やxml機能の敗訴による一部削除、数式エディタ、ユーザーの設定するスマートタグ、アニメーションなどを削除している。これらの機能は互換モードでも復活しない。これらもまたWordに完全な互換性がない原因となっている。またWordArtなどは旧バージョンにすると画像になるケースがある。

今後もほとんどレイアウトが崩れず、互換性が担保される書式

組織ではグループポリシーを設定する方法がある。
次に原則として、文書で互換性が保たれるには、次の方法を取る。


  • フォントを埋め込むこと
  • 言語データを埋め込むこと
  • 日本語であればフォントはMS明朝10ポイント。WindowsのシステムやHTMMLでも標準となる。
  • A4縦、横書き上35mm下横30mm
  • WordArtは使用しないことを前提と
  • 画像、グラフ、表は画像になることして、横に文字を入れないこと。特に画像に図形を重ねるようなことをしないこと。
  • 数式を使用する場合、Word 2013以上の場合でないと、相手方はMath Typeが必要となるためMathTypeを導入すること。
  • ファイルを交換するターゲットのバージョンがわかっている場合には、次の方法を使うこと
  • それでもだめなら印刷する。PDFにする、編集が必要ならRTFにするかテキストにする、という方法を使用する。

Word 以外の使用を検討する

  • Excel方眼などとバカにされているが、図やグラフを使用する文書の場合にはWordではなくExcelのほうが良い。
  • Wordは極めてレイアウトのくずれの原因が特定しづらい。ページ、段落、フォントの書式が悪いのか、オプションの設定が悪いのか、ファイル形式が悪いのか、バグが原因なのか、多様な設定ができるため困難である。しかも情報が少ない。旧バージョンの資料(特に97以前)をほとんど削除し、Converterも削除しているため、さらに不明瞭さに拍車をかけている。Excelはユーザーが多いため、比較的情報を得やすい
  • また、図表や写真を多用する場合にはPowerPointを使用する方法も良い。ただし、Personal系統は入っていない場合もあり、Excelよりは互換性はおちてしまう。またPowerPointといえども、Fontの相違やSmart Artなどは異なる。しかっし、ファイル構造が2007とそれ以前でしか変更されていない。もちろんExcelもSaveAs2を見れば分かる通り、数は多いが、ズレをセル単位で認識できる。PowerPointはプレゼンテーションが盛んになったあとなので、スクリーンをA4に2枚貼ることを前提に作られるため、精密なレイアウトが要求されない。このため修正がしやすい、という点でWordより利便性が高い。
  • また、精密なレイアウトならPublisherが優れている。ただしMath Typeがない限り数式が編集できないが、縦書きが強い。 あるいは編集が必要なければPDFで送る方法も有効である。Windowsだけならxpsもあり得る。
  • また、これを証明する根拠としてWordは最大容量が512MBしかなく、高画質の写真を数十枚貼ると限界となる。
  • この容量が変わらない点はWordが文字だけを前提としていると判断した根拠である。これはリンク貼り付けが当初デフォルトで、こうすることによってWord本体の容量を抑えていたことが原因と考えられる。さらにこのWordの容量を問題にする書き込みもあまりない。つまりそんな使い方はしていないといえる。おそらく通常はまとめて一つのファイルにせず、ある単位で分割しているのだろう。

互換性を保つ方法

以上のような問題点があるが、Word97以降のファイルを開くとき、またWord97までのWordに対してある程度レイアウトを含めた互換性を確保する方法がある。
いくつかの方法の中から最良と考えられる方法を列挙する。
また、互換性の結論は互換モードを動かすためにまずやることを参照していただきたい。

互換性の判断基準

1.互換性の高さは、まずWordを互換モードにして、レイアウトオプションを設定し、得られたTrueの番号で照合した。このほかにもKa-netや世界中のサイトを確認して定数をバージョンごとにどれをTrueにするのかを確認して決定した。
2.wdCompatibility定数はバージョンごとに増えている。Word 2013は70、Word2016は73となっている
3.それ以外にも256までTrueになるものがあり、まだ互換性の定数は増えるかもしれない。
4.Compatibilityの確認のためのマクロを作ったが、Word2016用は73、Word2010は69、Word2007は65になるらしい。以下の記述はこのマクロで吐き出した設定データで確認している。
5. 互換性がある文書を作る方法はVBAまたはVBScriptでDocまたはDocxを作る方法またはテンプレートをVBScript
で作る方法がある。たとえ白紙の状態でもWordのバージョンでTrueになっている互換オプションが微妙に異なる。
6. 日本語版の、Word 95に近いテンプレートがデフォルトで存在している。
7. 互換性がある文書を作る方法はVBAまたはVBScriptでDocまたはDocxを作る方法またはテンプレートをVBScript
で作る方法がある。ただし、この2つの方法で作るファイルはCompatibility定数が最初から微妙に異なっている。
8. word2007 - Word 2019 までは拡張子をdocxに、Macを含むそれ以外は拡張子をdocにしないとエラーになる。
9. WordのCompatibility定数はオブジェクトブラウザでは65番以降が存在しているが、公式では説明がない。また、少なくとも256番までは互換性定数が存在しているらしい。
10. Word2013はTexを念頭にしているため、以前のバージョンの機能を捨てている。当然それ以降も同じである。Word2016で数式エディター3.0を切り捨て、Word2016の数式機能がLatexと互換性があるとアピールしていたのもこのためである。また、2013から以前のバージョンにすることは互換モード、もしくはグループポリシーで対応している。
11. 互換性は古いものほどTrue項目が多く、2013以降はすべてFalseである。
12. Word97,2007、2010のそれぞれにほぼ近い互換性を持つテンプレートはVBScriptで作成することができた。

各バージョンにおけるポイント

Word2013

Word 2013とWord2016は全く同じではない。互換性について定数が3つ増えている。これらはハイフネーションに関するものである。このため、69、70をtrueにする。ただし、この定数はコントロールが困難で、現時点では切り分けが難しい。しかし、問題がなければアップグレード可能。
しかし、句読点のぶら下げがおかしいため、新規文書は互換モードで作成したほうがレイアウトが崩れない。

Sub Word2010JapaneseMode()
' Latest 2020/3/24
' ただし表を含む文書は表まで崩れるので、基本的に新規作成文書に適用してください
' 日本語用にオートコレクトを設定を変更、貼り付けのオプションを変更、スタイルの設定を同時に行っています。
Const JapaneseNormalStyleName = "標準" 'For Japanese
Const JapaneseSystemStandardFont = "MS 明朝" 'For Japanese
Dim wDoc As Word.Document: Set wDoc = ActiveDocument
Dim i As Long
Dim ar, iar As Long
ar = Split("69,71,72,73", ",")
On Error Resume Next
With wDoc
For i = 1 To 73
.Compatibility(i) = False
Next
.SetCompatibilityMode wdWord2010
For i = LBound(ar) To UBound(ar)
.Compatibility(i) = True
Next i
End With
With Application.Options
.PasteSmartCutPaste = False '貼付け時に自動調整する(S)
.PasteAdjustWordSpacing = False '文と単語の間隔を自動的に調整する 勝手に半角ブランクが入らなくなる
.PasteAdjustParagraphSpacing = False '段落の間隔が自動的に調整
.PasteAdjustTableFormatting = False '[貼り付ける時に表の書式と配置を調整する]
.PasteSmartStyleBehavior = False
.PasteMergeFromPPT = True '[Microsoft PowerPoint から貼り付ける時に書式を取り込む]
.PasteMergeFromXL = True '[Microsoft Office Excel から貼り付ける時に書式を調整する] Falseにして置かないと図として貼り付けられる
.PasteMergeLists = True '[貼り付けたリストとその前後のリストをつなげる]
.AutoKeyboardSwitching = False '周囲に合わせてキーボードを切り替える
.IMEAutomaticControl = False 'IMEを自動的にOnOffする
.PasteFormatBetweenDocuments = wdKeepTextOnly 'Wordからメモ帳に貼り付けるとき、書式を保持しない
.PasteFormatFromExternalSource = wdKeepTextOnly 'ブラウザから貼り付けるときHTMLによる書式を自動的に削除する
.SaveNormalPrompt = True
.PrintHiddenText = True
.INSKeyForOvertype = False
.INSKeyForPaste = False
.Overtype = False
.ShowDevTools = True
.ShowControlCharacters = True
.ShowMenuFloaties = True
.UseCharacterUnit = True '単位に文字幅を使用する
.ApplyFarEastFontsToAscii = True
End With
With wDoc
.DoNotEmbedSystemFonts = True 'システムフォントは埋め込まない MS明朝ならOK
.Compatibility(wdSuppressSpBfAfterPgBrk) = True
.Compatibility(wdExpandShiftReturn) = True
.Compatibility(wdUsePrinterMetrics) = True
.Compatibility(wdNoLeading) = False
.MakeCompatibilityDefault
.KerningByAlgorithm = False 'Trueなら半角英字と区切り文字をカーニング
.JustificationMode = wdJustificationModeExpand '句読点の間を詰めない
.EmbedTrueTypeFonts = .EmbedTrueTypeFonts
wDoc.JustificationMode = wdJustificationModeExpand

End With
'wDoc.AttachedTemplate.LanguageID = wdJapanese
Application.CheckLanguage = False
Selection.Style = wDoc.Styles(JapaneseNormalStyleName)
With wDoc.Styles(JapaneseNormalStyleName).Font
.NameFarEast = JapaneseSystemStandardFont
.NameAscii = JapaneseSystemStandardFont
.NameOther = JapaneseSystemStandardFont
.Name = JapaneseSystemStandardFont
.Size = .Size
.Bold = .Bold
.Italic = .Italic
.Underline = .Underline
.UnderlineColor = .UnderlineColor
.StrikeThrough = .StrikeThrough
.DoubleStrikeThrough = .DoubleStrikeThrough
.Outline = .Outline
.Emboss = .Emboss
.Shadow = .Shadow
.Hidden = .Hidden
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Scaling = 100
.Kerning = 0
.Animation = wdAnimationNone
.DisableCharacterSpaceGrid = False
.EmphasisMark = wdEmphasisMarkNone
.Ligatures = wdLigaturesNone
.NumberSpacing = wdNumberSpacingDefault
.NumberForm = wdNumberFormDefault
.StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0
End With
With wDoc.Styles(JapaneseNormalStyleName).ParagraphFormat
.LeftIndent = Application.MillimetersToPoints(0)
.RightIndent = Application.MillimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = False
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = Application.MillimetersToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
.CollapsedByDefault = False
.AutoAdjustRightIndent = False
.DisableLineHeightGrid = False
.FarEastLineBreakControl = True
.WordWrap = False
.HangingPunctuation = True '句読点のぶら下げ、実際は聞いていない
.HalfWidthPunctuationOnTopOfLine = False
.AddSpaceBetweenFarEastAndAlpha = False
.AddSpaceBetweenFarEastAndDigit = False
.BaseLineAlignment = wdBaselineAlignAuto
End With
'日本語設定
With wDoc.Styles(JapaneseNormalStyleName)
.NoSpaceBetweenParagraphsOfSameStyle = False
.LanguageID = wdJapanese
.NoProofing = False
.AutomaticallyUpdate = False
.BaseStyle = ""
.NextParagraphStyle = JapaneseNormalStyleName
End With
With Application.AutoCorrect
.CorrectInitialCaps = True
.CorrectSentenceCaps = True
.CorrectDays = True
.CorrectCapsLock = True
.ReplaceText = True
.ReplaceTextFromSpellingChecker = True
.CorrectKeyboardSetting = False
.DisplayAutoCorrectOptions = True
.CorrectTableCells = False
End With
With Application.Options
.AutoFormatApplyHeadings = True
.AutoFormatApplyLists = False
.AutoFormatApplyBulletedLists = False
.AutoFormatApplyOtherParas = True
.AutoFormatReplaceQuotes = False
.AutoFormatReplaceSymbols = False
.AutoFormatReplaceOrdinals = True
.AutoFormatReplaceFractions = False
.AutoFormatReplacePlainTextEmphasis = False
.AutoFormatReplaceHyperlinks = False
.AutoFormatPreserveStyles = False
.AutoFormatPlainTextWordMail = True
.AutoFormatApplyFirstIndents = False
.AutoFormatMatchParentheses = False
.AutoFormatDeleteAutoSpaces = False
.AutoFormatReplaceFarEastDashes = True
.LabelSmartTags = False
.CheckGrammarAsYouType = False
.CheckGrammarWithSpelling = False
.ContextualSpeller = False
.CheckSpellingAsYouType = False
End With
End Sub

Word 2010(句読点のぶら下げのバグにより2010はアップグレード非推奨。2010以前は2010までアップグレード推奨。)

ファイルを読み込む2010

実験段階では白紙で試しているが、実際はファイルを読み込んだときにSet Compatibilityとレイアウト定数を設定すると、レイアウトに関する問題が軽減される。しかし2013以降のレイアウトエンジンは句読点のぶら下げがバグっており、これが解決されるまで2013にアップグレードしない方がよい。確実にレイアウトが崩れる可能性が高い。特に1行の文字数を固定しても固定したことにならない。

ファイルを作成する2010

VBAまたVBSでファイルを作成し、互換性定数(wdCompatibility)と互換モードを設定する。

テンプレート2010

VBSCriptにより作成できる。これを作ってからファイルを作成すると安定する。
これは仮に新規文書を作成し、一旦オプションをすべてFalseにして互換モードにしてページフォントスタイルを変更する。これによって游ゴシックを使わないものとなる。
ただし、このような細かい定義をすると、日本語版だけになってしまう。ページ設定やスタイルは別にすべきかもしれない。以下のバージョンでは省略する。

MakeWD2010Temp
Option Explicit
' *-------------- *
' *   Const Block * ' If you do not want to Make Pagesetup and style, This block can delete.
' *---------------*
Const msoEncodingJapaneseShiftJIS = 932'For Japanese
Const wdJapanese = 1041'For Japanese
Const wdStyleNormal = -1
Const JapaneseNormalStyleName = "標準" 'For Japanese
Const JapaneseSystemStandardFont = "MS 明朝"'For Japanese
Const wdBaselineAlignAuto = 4
Const wdJustificationModeExpand = 0
Const wdLineSpaceSingle = 0
Const wdAlignParagraphLeft = 0
Const wdOutlineLevelBodyText = 10
Const wdTightNone = 0
Const wdFrameLeft = -999998 
Const wdColorAutomatic = -16777216 
Const wdAlignVerticalTop = 0
Const wdLayoutModeLineGrid = 2
Const wdGutterPosLeft = 0
Const wdUnderlineNone = 0
Const wdOrientPortrait = 0
Const wdFrameAuto = 0
Const wdKeepTextOnly = 2
' *-------------- *
' *  Const Block 2 *
' *---------------*

Const wdTypeDocument = 0
Const wdLigaturesNone = 0
Const wdRelativeHorizontalPositionColumn = 2 ,wdRelativeVerticalPositionParagraph = 2
Const wdCurrent = 65535, wdWord2013 = 15, wdWord2010 = 14, wdWord2007 = 12, wdWord2003 = 11
Const wdFormatTemplate97 = 1
Const wdSplitPgBreakAndParaMark = 60
Const wdDontVertAlignCellWithShape = 61
Const wdDontBreakConstrainedForcedTables = 62
Const wdDontVertAlignInTextbox = 63
Const wdWord11KerningPairs = 64
Const wdCachedColBalance = 65
Const wdDisableOTKerning = 66
Const wdFlipMirrorIndents = 67
Const wdDontOverrideTableStyleFontSzAndJustification = 68
Const wdUseWord2010TableStyleRules = 69
Const wdDelayableFloatingTable = 70
Const wdAllowHyphenationAtTrackBottom = 71
Const wdUseWord2013TrackBottomHyphenation = 72
Const wdUsePre2018iOSMacLayout = 73
Const wdFormatXMLTemplate = 14
Const wdFormatXMLTemplateMacroEnabled = 15
Const wdDoNotSaveChanges = 0
Const wdRDIDocumentProperties = 8
Const WD70FE = 1
Const msoThemeLatin = 1 ' ラテン語のフォント名を表します。
Const msoThemeEastAsian = 3 ' 東アジアのフォント名を表します。簡体字中国語、繁体字中国語、日本語、および韓国語が含まれます。
Const msoThemeComplexScript = 2 ' コンプレックス スクリプト言語のフォント名を表します。コンプレックス スクリプト言語のコレクションは、アラビア語、グルジア語、ヘブライ語、インド語、タイ語、およびベトナム語のアルファベットをサポートします。
Dim strFormattedDate
Dim i
'yyyy/mm/dd hh:mm:ss を yyyymmddhhmmss に変換
Dim wApp : Set wApp = CreateObject("Word.Application")
wApp.Visible = True
Dim wDoc, wDocs, bl6432
Dim sPath, sPathtemplate
wApp.Visible = True
Dim ar
ar =split("69,71,72,73",",")
' Word97JPN
Set wDocs = wApp.Documents
Set wDoc = wDocs.Add
wDoc.Activate
wApp.Options.DisableFeaturesbyDefault = False
wDoc.DisableFeatures = False
wDoc.SetCompatibilityMode (wdWord2013)
On Error Resume Next
for i = 1 to 73
wDoc.Compatibility(i) = False
Next
wDoc.SetCompatibilityMode(wdWord2010)
for i= Lbound(ar) to Ubound(ar)
wDoc.Compatibility(ar(i)) = True
next
on error goto 0
sPathtemplate = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2010.dot"


' bl6432の確認
' Officeが 32Bit のとき Envriron("Programfiles%") は (x86)がつくが、 VBSでは64bitで起動するためProgramfilesがx86にならない
With CreateObject("VBScript.RegExp")
' Word Applicationのフルパスに(86)が含まれているか
.Global = True
.Multiline = False
.IgnoreCase = False
.Pattern = "\(x86\)"
If .Test(wApp.Path) = True Then bl6432 = False Else bl6432 = True 'テストに合致したら32bit
End With
If bl6432 Then
' 64 bit Word
' DocumentTheme
wdoc.ApplyDocumentTheme( CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%") &  _
"\Microsoft Office\root\Document Themes 16\Office Theme.thmx")

' Docume ThemeFontScheme(64 bit)
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MajorFont(msoThemeLatin).Name  = JapaneseSystemStandardFont
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MajorFont(msoThemeEastAsian).Name = JapaneseSystemStandardFont
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MinorFont(msoThemeLatin).Name = JapaneseSystemStandardFont
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MinorFont(msoThemeEastAsian).Name = JapaneseSystemStandardFont

' Document ThemeColorScheme (64 bit)
wApp.ActiveDocument.DocumentTheme.ThemeColorScheme.Load( CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%") &  _
"\Microsoft Office\root\Document Themes 16\Theme Colors\Office 2007 - 2010.xml")

' Document ThemeEffectScheme (64 bit)
wApp.ActiveDocument.DocumentTheme.ThemeEffectScheme.Load( CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%") &  _
"\Microsoft Office\root\Document Themes 16\Theme Effects\Office 2007 - 2010.eftx")
Else
' 32 bit Word
' DocumentTheme
wdoc.ApplyDocumentTheme( CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles(x86)%") &  _
"\Microsoft Office\root\Document Themes 16\Office Theme.thmx")

' Docume ThemeFontScheme
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MajorFont(msoThemeLatin).Name  = JapaneseSystemStandardFont
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MajorFont(msoThemeEastAsian).Name = JapaneseSystemStandardFont
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MinorFont(msoThemeLatin).Name = JapaneseSystemStandardFont
wApp.ActiveDocument.DocumentTheme.ThemeFontScheme.MinorFont(msoThemeEastAsian).Name = JapaneseSystemStandardFont
' Document ThemeColorScheme
wApp.ActiveDocument.DocumentTheme.ThemeColorScheme.Load( CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles(x86)%") &  _
"\Microsoft Office\root\Document Themes 16\Theme Colors\Office 2007 - 2010.xml")
' Document ThemeEffectScheme
wApp.ActiveDocument.DocumentTheme.ThemeEffectScheme.Load( CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles(x86)%") &  _
"\Microsoft Office\root\Document Themes 16\Theme Effects\Office 2007 - 2010.eftx")
End If
' Document Theme 設定終了 -------------------------

''''' Page Set Up Block For Japanese Language
' About Copy And Past Advanced Setting
With wApp.Options
 .PasteSmartCutPaste = False '貼付け時に自動調整する(S)
 .PasteAdjustWordSpacing = False '文と単語の間隔を自動的に調整する 勝手に半角ブランクが入らなくなる
 .PasteAdjustParagraphSpacing = False '段落の間隔が自動的に調整
 .PasteAdjustTableFormatting = False '[貼り付ける時に表の書式と配置を調整する]
 .PasteSmartStyleBehavior = False
 .PasteMergeFromPPT = True '[Microsoft PowerPoint から貼り付ける時に書式を取り込む] 
 .PasteMergeFromXL = True '[Microsoft Office Excel から貼り付ける時に書式を調整する] Falseにして置かないと図として貼り付けられる
 .PasteMergeLists = True '[貼り付けたリストとその前後のリストをつなげる]
 .AutoKeyboardSwitching = False '周囲に合わせてキーボードを切り替える
 .IMEAutomaticControl = False 'IMEを自動的にOnOffする
 .PasteFormatBetweenDocuments = wdKeepTextOnly 'Wordからメモ帳に貼り付けるとき、書式を保持しない
 .PasteFormatFromExternalSource = wdKeepTextOnly 'ブラウザから貼り付けるときHTMLによる書式を自動的に削除する
End With
wApp.Options.SaveNormalPrompt = True
wApp.Options.PrintHiddenText = True
wDoc.EmbedTrueTypeFonts = True
wDoc.KerningByAlgorithm = False
wDoc.JustificationMode = wdJustificationModeExpand
'wDoc.AttachedTemplate.LanguageID = wdJapanese
wApp.CheckLanguage = False

wApp.Selection.WholeStory
wApp.Selection.LanguageID = wdJapanese
With wApp.Selection.ParagraphFormat
  .LeftIndent = wApp.MillimetersToPoints(0)
  .RightIndent = wApp.MillimetersToPoints(0)
  .SpaceBefore = 0
  .SpaceBeforeAuto = False
  .SpaceAfter = 0
  .SpaceAfterAuto = False
  .Alignment = wdAlignParagraphLeft
  .LineSpacingRule = wdLineSpaceSingle
  .Alignment = wdAlignParagraphLeft
  .WidowControl = False
  .KeepWithNext = False
  .KeepTogether = False
  .PageBreakBefore = False
  .NoLineNumber = False
  .Hyphenation = True
  .FirstLineIndent = wApp.MillimetersToPoints(0)
  .OutlineLevel = wdOutlineLevelBodyText
  .CharacterUnitLeftIndent = 0
  .CharacterUnitRightIndent = 0
  .CharacterUnitFirstLineIndent = 0
  .LineUnitBefore = 0
  .LineUnitAfter = 0
  .MirrorIndents = False
  .TextboxTightWrap = wdTightNone
  .CollapsedByDefault = False
  .AutoAdjustRightIndent = False
  .DisableLineHeightGrid = False
  .FarEastLineBreakControl = True
  .WordWrap = True
  .HangingPunctuation = True
  .HalfWidthPunctuationOnTopOfLine = False
  .AddSpaceBetweenFarEastAndAlpha = False
  .AddSpaceBetweenFarEastAndDigit = False
  .BaseLineAlignment = wdBaselineAlignAuto
End With
''''' Style  Block For Japanese Language
wApp.Selection.WholeStory
With wDoc.Styles(wdStyleNormal).Font
  If .NameFarEast = .NameAscii Then
    .NameAscii = ""
  End If
  .NameFarEast = JapaneseSystemStandardFont
End With
wApp.Selection.WholeStory
With wDoc.PageSetup
  .LineNumbering.Active = False
  .Orientation = 0 'wdOrientPortrait
  .TopMargin = wApp.Application.MillimetersToPoints(35)
  .BottomMargin = wApp.Application.MillimetersToPoints(30)
  .LeftMargin = wApp.Application.MillimetersToPoints(30)
  .RightMargin = wApp.Application.MillimetersToPoints(30)
  .Gutter = wApp.Application.MillimetersToPoints(0)
  .HeaderDistance = wApp.Application.MillimetersToPoints(15)
  .FooterDistance = wApp.Application.MillimetersToPoints(17.5)
  .PageWidth = wApp.Application.MillimetersToPoints(210)
  .PageHeight = wApp.Application.MillimetersToPoints(297)
  .VerticalAlignment = 0
  .SuppressEndnotes = False
  .MirrorMargins = False
  .TwoPagesOnOne = False
  .BookFoldPrinting = False
  .BookFoldRevPrinting = False
  .BookFoldPrintingSheets = 1
  .GutterPos = wdGutterPosLeft
  .LayoutMode = wdLayoutModeLineGrid
End With
With wDoc.Styles(JapaneseNormalStyleName).Font
  .NameFarEast = JapaneseSystemStandardFont
  .NameAscii = JapaneseSystemStandardFont  
  .NameOther = "+本文のフォント" 
 .Name = JapaneseSystemStandardFont
  .Size = 10
  .Bold = False
  .Italic = False
  .Underline = wdUnderlineNone
  .UnderlineColor = wdColorAutomatic
  .StrikeThrough = False
  .DoubleStrikeThrough = False
  .Outline = False
  .Emboss = False
  .Shadow = False
  .Hidden = False
  .SmallCaps = False
  .AllCaps = False
  .Color = wdColorAutomatic
  .Engrave = False
  .Superscript = False
  .Subscript = False
  .Scaling = 100
  .Kerning = 0
  .Animation = 0 'wdAnimationNone
  .DisableCharacterSpaceGrid = False
  .EmphasisMark = 0 'wdEmphasisMarkNone
  .Ligatures = 0 'wdLigaturesNone
  .NumberSpacing = 0 'wdNumberSpacingDefault
  .NumberForm = 0 ' 0 'wdNumberFormDefault
  .StylisticSet = 0 'wdStylisticSetDefault
  .ContextualAlternates = 0
End With
With wDoc.Styles(JapaneseNormalStyleName).ParagraphFormat
  .LeftIndent = wApp.Application.MillimetersToPoints(0)
  .RightIndent = wApp.Application.MillimetersToPoints(0)
  .SpaceBefore = 0
  .SpaceBeforeAuto = False
  .SpaceAfter = 0
  .SpaceAfterAuto = False
  .LineSpacingRule = 0 'wdLineSpaceSingle
  .Alignment = 0 'wdAlignParagraphLeft
  .WidowControl = False
  .KeepWithNext = False
  .KeepTogether = False
  .PageBreakBefore = False
  .NoLineNumber = False
  .Hyphenation = True
  .FirstLineIndent = wApp.Application.MillimetersToPoints(0)
  .OutlineLevel = wdOutlineLevelBodyText
  .CharacterUnitLeftIndent = 0
  .CharacterUnitRightIndent = 0
  .CharacterUnitFirstLineIndent = 0
  .LineUnitBefore = 0
  .LineUnitAfter = 0
  .MirrorIndents = False
  .TextboxTightWrap = wdTightNone
  .CollapsedByDefault = False
  .AutoAdjustRightIndent = True
  .DisableLineHeightGrid = False
  .FarEastLineBreakControl = True
  .WordWrap = True
  .HangingPunctuation = True
  .HalfWidthPunctuationOnTopOfLine = False
  .AddSpaceBetweenFarEastAndAlpha = False
  .AddSpaceBetweenFarEastAndDigit = False
  .BaseLineAlignment = wdBaselineAlignAuto
End With
With wDoc.Styles(JapaneseNormalStyleName)
  .NoSpaceBetweenParagraphsOfSameStyle = False
  .LanguageID = wdJapanese
  .NoProofing = False
  .LanguageID = wdJapanese
  .NoProofing = False
End With
wdoc.Styles(JapaneseNormalStyleName).Frame.Delete
'With wDoc.Styles(JapaneseNormalStyleName).Frame
'  .TextWrap = True
'  .WidthRule = wdFrameAuto
'  .HeightRule = wdFrameAuto
'  .HorizontalPosition = wdFrameLeft
'  .RelativeHorizontalPosition = wdRelativeHorizontalPositionColumn
'  .VerticalPosition = wApp.Application.MillimetersToPoints(0)
'  .RelativeVerticalPosition = wdRelativeVerticalPositionParagraph
'  .HorizontalDistanceFromText = wApp.Application.MillimetersToPoints(0)
'  .VerticalDistanceFromText = wApp.Application.MillimetersToPoints(0)
'  .LockAnchor = False
'End With
With wDoc.Styles(JapaneseNormalStyleName)
  .AutomaticallyUpdate = False
  .BaseStyle = ""
  .NextParagraphStyle = JapaneseNormalStyleName
End With
''''
' Grid Line Setting -----------------------------------------------------
If wApp.Version >= 15 Then
    With wApp.ActiveDocument
        .SnapToGrid = False
        .SnapToShapes = False
        .GridDistanceHorizontal = wApp.MillimetersToPoints(3.5)
        .GridDistanceVertical = wApp.MillimetersToPoints(3.2)
        .GridOriginHorizontal = wApp.MillimetersToPoints(30)
        .GridOriginVertical = wApp.MillimetersToPoints(35)
        .GridSpaceBetweenHorizontalLines = 1
        .GridSpaceBetweenVerticalLines = 2
        .GridOriginFromMargin = True
    End With
    With wApp.Options
        .DisplayGridLines = True
        .DisplayAlignmentGuides = False
        .PageAlignmentGuides = True
        .MarginAlignmentGuides = True
        .ParagraphAlignmentGuides = True
    End With
End if
' End  Of Grid Line  Settings -----------------------------------------
wDoc.RemoveDocumentInformation (wdRDIDocumentProperties)
wDoc.SaveAs2 sPathtemplate , wdFormatXMLTemplateMacroEnabled,,,,,,,,,,,,,,,wdWord2010
wDoc.Close wdDoNotSaveChanges
Set wDoc = Nothing
With CreateObject("Scripting.FileSystemObject")
If .FileExists(sPath) Then .DeleteFile sPath
End With
sPath =""
wApp.Quit
If Not wApp Is Nothing Then Set wApp = Nothing
Wscript.Quit

Word2007

ファイルを読み込む2007

Word 2010と同様にSetCompatibitlityを設定する。なお白紙の状態ではレイアウトも最適に変更される。
この状態でテンプレートを作成できる。

ファイルを作成する2007

テンプレートをVBSで作成し、テンプレートから作成する。なお、このとき互換モードをSetCompatibilityで確定させると良い。

Word2003

ファイルを2010にするWordマクロの例

単なるアップグレードでは2013になり、レイアウトが崩れるので、当面以下のVBAを使用して2010にすること
vb
Sub ConvertFrom2003to2010()
'For Word VBA
Dim wDoc As Word.Document
Set wDoc = Application.Documents.Open("C:\Users\very_\Documents\あいうえお.doc")
wDoc.SaveAs2 "C:\folder\filename.docm", wdFormatXMLDocumentMacroEnabled, , , , , , , , , , , , , , , wdWord2010
wDoc.Close False
End Sub

ファイルを開く2003

ファイルを開いた後、SetCompatibilityでレイアウトまで設定される。なおかつ機能も制限される。もっとも前述したように削除された機能が復活することはない。
しかし、現行のWord 2013以降にすることはできない。このため次のように2010形式に変換する。Wordが入っているかわからないのでdocm形式にする。

Sub ConvertFrom2003to2010()
Dim wDoc As Word.Document
Set wDoc = Application.Documents.Open("C:\Users\very_\Documents\あいうえお.doc")
wDoc.SaveAs2 "C:\Users\very_\Documents\あいうえお.docm", wdFormatXMLDocumentMacroEnabled,,,,,,,,,,,,,,, wdWord2010
wDoc.Close False
End Sub

ファイルを作成する2003

上記のVBScriptで作成可能。一旦docで保存し、それをWord2003にレイアウト(互換性のオプション)を設定して保存する。

テンプレート2003

VBSで作成可能

Word2002-97

ファイルを開く

これらはSetCompatibilityを使用すると互換性が不明となる。
開く時点で互換モードが確定するため、これらのファイルを開く場合はSetCompatibilityは使用しない

新規のファイルは予め互換性を定めたファイルを作成し、それに入力する。

Word95 日本語版

Word95は開くことも新たに作成することもWord2013以降は現在方法が見つかっていない

Word95日本語版に近いテンプレートを使って、レイアウトだけ95に近いものを作成する

これは確認ができないが、WordがインストールされたフォルダのTHISIS.dotを使用するとレイアウトが95になっている。これをRTF形式で保存すると、Word95とデータを交換できると考えられる。ただしWord95のファイルを変換する方法が見つからない。
しかし
%Programfiles%\Microsoft Office\root\Templates\1041\THESIS1.DOT
は非常に95に近いため、ダブルクリックして新規文書を作成し、マクロを有効にしておいてALT+F11 ALT+I Mで新規モジュールを追加し、以下のVBAマクロを貼り付けて実行する。
これでレイアウトはWord95と同じである。
しかし、これをrtfで保存すればやはりWordPadでは表示が変わってしまう。
しかし雰囲気くらいは味わえる。

Sub Like95JPN()
With ThisDocument
.Compatibility(38) = True
.Compatibility(26) = True
.DisableFeatures = True
.DisableFeaturesIntroducedAfter = wd70
End With

私見その1 Excel方眼はWordが原因

改めてWordの歴史を見るとグラフと表の互換性が2003と2007で切断してている。
ここで日本人は「Wordに図を乗せると危ない。Wordは使い物にならない」と痛感させられた。
以後、Excel,PowerPointで文書を作るようになった。とくに2007年以降はそうなった。
Excel方眼、あるいはExcelをWordのように使う原因は互換性にあった。さらにWord2007は一旦旧バージョンからWord2007に変換すると本のファイルを削除するという信じがたい仕様だった。だがそれは過去の話ではない。Word2010とWord2016 互換モードでない場合、作図が崩れる 2016年10月02日 | Windows10 ★グーなキモチ!★スマートフォン、タブレット、パソコンを楽しく使おう!現役講師がつづるデジタルな毎日arc.isでもまだ崩れてしまう。

どう崩れるのかはブログを見ていただくとして、確かなのは、全く予期することができないということである。というのもWOrd2010とWord2013の違いははっきりとした資料が存在せずVBAで互換モードを分析してもわからないためである。もっともこのレベルの文書はパワーポイントを使うかもしれない。

私見その2 LineService

WordのLayoutを支配しているのはLineServiceという機能で、これについてのMicrosoftの記事はすべて削除されているが、極めて重要なことを言っている。これが通常の文字のレイアウトを決めているからである。Word以外のアプリケーションもつかっている。
Wordのレイアウトエンジンは複数の目標をもっている画面に忠実に表示させる、次に画面に忠実に表示させないが、きちんと折りたたんで表示する、さらに印刷したとき画面と同じにする、これらは矛盾点がある。さらに速さも要求される。
1ページに1行だけ想定すると、最初の1文字目は左端と上端が決まれば良い。しかし、そこから何文字入れるか、それを瞬時に計算させてできるだけ早く表示するか、これに非常に苦労している。
さらに日本では全く不要だが、プロポーショナルで洗練されたレイアウトが課題になっている。

私見その3 サポートしていないからヘルプを切るマイクロソフトは他のサイトとかに金を払うべき(当方以外)

旧バージョンの資料がないと全くわからないことが多すぎ。Word(ワード)で以前のバージョンとの互換性を確認する方法と[互換モード]を解除するやり方2019.04.05 プラウ

身もふたもない最終手段から

結論から言うとWord2013以降は互換性を維持することをマイクロソフト自体が諦めている気配がある。なぜかというと大幅にレイアウトエンジンを更新したからである。なのでそれ以前のものはできないものはできない。またレイアウトエンジン以外にEPS形式、XML形式、数式3.0など絶対に互換性がないものが存在する。このため互換性であれこれ考えるよりは、以下の方法もありえる。(改定追加)というか現時点では次のようにしなければならない

1.新規文書は、互換モードでWord2010にする。

日本語は禁則処理がぶっ壊れており、使用に耐えない。なお、2013で入力した文書を互換モードを適用するととくにテーブル(表)がおかしくなるため、すでにWord2013形式で入力した文書をWord2010にするのは、表が複雑ではなく、禁則処理がおかしい場合に限られる。しかし、すでに入力してレイアウトを固めた文書は返還してはいけない。レイアウトが崩れる恐れがある。

1.pdfに変換する、もしくは紙に印刷する

結局のところこれが一番確かかもしれない。

2.xpsに変換する

このファイル形式でPDFと争うことをWindowsは諦めているようだが、そもそもMacは読めないらしい。なのでpdfがよい。なお、OXPS形式は手動で印刷をする時に、ファイル形式はファイルに名前を付けて保存する画面で選ぶことができる。これができるのは下記によるとWindows 8.1から。(下記リンク参照)
http://office-qa.com/kaku/xps.htm
このような欠点はあるが、ドライバーとして存在しており、xps出力はWindows XPを除いて確実に使うことができる。
ただし、使っている人を見たことがないのは内緒だ。
http://force4u.cocolog-nifty.com/skywalker/2010/07/xpsxpsmacxps-22.html
2010年の資料では大半が有料らしい。このためMac OSにXPSで送信してはいけない。
WindowsでXPSドキュメントファイルを閲覧する
xpはここでは.Net framework 3.0をインストールすればIEで閲覧できるとされている。
XPSDrv レンダー モジュール
この図からすると.Net FrameWork3.0でいいようだ。おそらくxps essentialsも.Net Framework 3.0がインストールされるのだろう。
マイクロソフトのXPSファイルとは
XPS
http://www.kanazawa-net.ne.jp/~pmansato/xps/xps_xps.htm

3.xmlやhtmlに出力する

もちろんxmlやhtmlもあるが、ほぼ互換性を捨てていることがわかっているので省略。こちらは互換性よりむしろ明確にhtmlやxmlの作成のために使われるだろう。
Wordでホームページを作るには? Word 97でホームページを作成するための秘訣 - wanichan

4.テキストまたはリッチテキストに出力する

Wordの機能とは高級なrich text file editorである。そもそもdoc形式ファイルがリッチテキストであるときもあったくらいだ。Wordが高級なリッチテキストエディタである本質は今も変わらない。またテキスト出力において、文字コードは通常、日本語版ならANSI、現在ならUTF8と思われる。何もかもなくなるが、Wordにテキスト以外のことを期待してないよね?
ちなみに最新のリッチテキストはVersion1.9あたり
Rich Text Format (RTF) Extensions Algorithm Copyright © 2016 Microsoft Corporation Release: June 13, 2016 [MS-OXRTFEX]:Rich Text Format (RTF) Extensions Algorithmこのような仕様書がある。そしてこのRTF形式は、Latexがリッチテキストを介してWordを変換する機能があることで重要になっている。
LightStone
この論文作成ソフトもdocx形式ではなくRTFから変換する。もっとも日本語が入るとだめである。
もともとTexは数式表示が優れており、論文執筆に用いられるようになり、さらに論文を出版するための組版ソフトとしての役割まで担っている。しかも無償。これをMicrosoftは意識しているのである。しかしWordでは無理だろう。

5.LibreOfficeに変える

前述のodtを介することで移行が可能となる。
LibreOfficeで表計算、プレゼン、ワープロが出来る!- 2014年12月1日 公開 / 2018年11月19日更新/mbp-japan.com/saga
LibreOfficeでVBAを使う方法。1行おまじないを書くだけ! 2017/3/2 /pineplanter.moo.jp/non-it-salaryman
フリーのオフィス統合環境「LibreOffice 6.4.1」が公開 ~v6.4系初のマイナーアップデート - forest.watch.impress.co.jp 2020年3月2日 15:40

6.サポートはないが以前のバージョンのOfficeをインストールする

15年前のMicrosoft Office XP(2002)が今だに現役なわけ
Office2010はエラーが出るが、XPはインストールできる。
Windows XP時代のソフトですが、Windows 7でも問題なく動きます。また先方から送られてきた2010や2013といったバージョンのデータであっても「互換機能パック」をインストールしていれば閲覧、編集に支障はありません。
WordやExcelなんて使用用途は限られていますから、長年使い慣れた配置で使い続けるのが一番ですよね。新しいバージョンに変えると、また機能や配置を覚えなおさないといけなくなり、時間の無駄になりますから。
とはいうもののOffice97もいきなりインストールできなくなった。
Windows XP 上でなければ Office 2003 を使い続けても安全? - March 9, 2014 Microsoft Security Response Center
window10 proパソコンで msaccess2003のソフトを起動すると office accessは動作を停止しました。とのエラーメッセージが表示される。- 2018/8/28 answers.microsoft.com
さらにAccess2003もやばいようだ。
2014年4月の呼びかけ
「 あなたのパソコンは4月9日以降、大丈夫? 」
~ 使用中パソコンの判別方法、乗り換えプランを紹介 ~
Microsoft Office Version and Windows Version Compatibility Chart - www.keynotesupport.com
下でも公式も対応表をリンクしたが、XPが出てこない。フルに書くとこのようになる。ただしメインストリーと延長サポートの違いに注意すること、現時点での情報であることが注意すべきである。公式をその場合は見たほうが良い。
Which versions of Office work with Windows 10?
こんな感じで平気で前のバージョンを切り捨てる。
Microsoft Office 製品の各 OS での対応表魚拓 97以前の対応表。もっとややこしい。
Why has the MS Compatibility Center disappeared? – September 30, 2015 answers.microsoft.com
Windows 8と10のハードウェアとソフトウェアを確認するのに非常に便利なサイトでした。今日以前に利用可能でしたが、突然なくなってしまいました。 MSページのセンターへのショートカットでさえ、差分ページに移動します。 確認しましたが、MSページのリンクは削除されました。
Microsoft is moving towards a Windows as a Service model where we expect OS releases to happen more frequently. This means we will work even closer with our partner ecosystem in order to keep compatibility on an extremely high level. This also means that maintaining a site for compatibility for each release of Windows moving forward will potentially be redundant and unnecessary. To this end, are retiring the Windows Compatibility Center.
The way to assess compatibility of apps for consumers is to use the ‘Get Windows 10’ app, which has a customized compatibility report for each PC, and provides a unified compatibility view of a PC, its onboard devices and apps.
マイクロソフトは、OSリリースがより頻繁に発生すると予想されるサービスとしてのWindowsモデルに移行しています。 これは、非常に高いレベルで互換性を維持するために、パートナーエコシステムとさらに緊密に連携することを意味します。 また、これは、前進するWindowsの各リリースの互換性のためにサイトを維持することは、潜在的に冗長で不必要であることを意味します。 このため、Windows Compatibility Centerは廃止されます。

消費者向けアプリの互換性を評価する方法は、「Get Windows 10」アプリを使用することです。このアプリには、PCごとにカスタマイズされた互換性レポートがあり、PC、オンボードデバイス、アプリの統一された互換性ビューを提供します。

7.Windows 10 を32bitにして仮想化で動かす

どこまで動くかは未知数だが、ファイルを開くためにはこの方法しかない。なので最低でも昔のOfficeのCD-Rからパッケージ一式は捨てないほうが良い。
Windows10で16bitアプリケーションを動かす 2016/07/07 embedded-property.net
Windows 10に昔のソフトを入れてみました

8.サポートはないが以前のハードごと使い続ける

「Windows XP」はなぜ今後も死なないのかjapan.cnet.com 2017年04月17日 07時30分
Windows 98マシンは2017年現在でもまだ現役で使うことはできるのか?
ただ古いマシンのドライバが入手できても部品がない。この方法の欠点である。

ファイルコンバーターはほぼ死んでいる

FileComverterはほぼ死んでいるし、今後もそうだろう。今はPDF変換とファイル修復用くらいしか機能がない。
以前はFujitsuが出していたOASYSのコンバーターなどいろいろあったのだが、全部なくなると全部廃止した。独占企業のやり口そのものである。
PDFREFLOW.EXE を表すCLSID
RECOVR32.CNV
WPFT632.CNV
WPFT532.CNV
今は4つしかない。
OASYSと一太郎のコンバーターはOffice2007までしかない。現在はファイルの修復で使用するか、エラーで話題になる程度で、ほとんど目立たない。一覧を出力するサンプルが以下のもの。
FileConverter.SaveFormat プロパティ (Word)

Sub FileConverterList()
 Dim cnvFile As FileConverter
 Dim docNew As Document

 'Create a new document and set a tab stop
 Set docNew = Documents.Add
 docNew.Paragraphs.Format.TabStops.Add _
 Position:=InchesToPoints(3)

 'List all the converters in the FileConverters collection
 With docNew.Content
 .InsertAfter "Name" & vbTab & "Number"
 .InsertParagraphAfter
 For Each cnvFile In FileConverters
 If cnvFile.CanSave = True Then
 .InsertAfter cnvFile.FormatName & vbTab & _
 cnvFile.SaveFormat
 .InsertParagraphAfter
 End If
 Next
 .ConvertToTable
 End With

End Sub

を実行した結果。

image.png

また、コンバーターとして2020年現在ダウンロードできるものとして
Microsoft Works 6–9 ファイル コンバータ
がある。
ただしこれは以下にあるようにWord2010用らしい。

「新しいコンバータをダウンロードしますか?」 Word で wps ファイルを開こうとするとエラーが発生する

2019/11/22
適用対象:Word 2013, Microsoft Word 2010, Microsoft Office Word 2003

症状

Microsoft Office には、出荷時に Microsoft Works コンバータは含まれなくなりました。 Microsoft Word で Works のワープロファイル (wps) を開こうとすると、Word によってファイルがテキストファイルとして読み取られています。 以前のバージョンの Word からアップグレードした場合でも、開いているファイルの一覧には、wps ファイル形式が表示されることがあります。 ただし、Word ではこれらのファイルは開かれません。

この問題が発生すると、次のエラーメッセージが表示されます。
This file requires a newer version of the Microsoft Works Converter than is currently on your system. Do you want to download the new converter so that you can work with this file?

原因

この問題は、Works コンバータが廃止され、使用できなくなったために発生します。

回避策

Wps 形式のファイルを Microsoft Word 形式に変換する必要がある場合は、Microsoft Office 2010 バージョンの Word を使用できます。

詳細

Microsoft Works の Microsoft ダウンロードセンターページは利用できなくなりました。
Office 2010 は、Works コンバータを含む最新最後のバージョンの Office です。

Word の起動時に "word でコンバータ SSPDFCG_X64 を開始できません" というエラーが表示される

Word で Microsoft Word を起動しようとするか、または差し込み印刷を実行しようとすると、次のエラーメッセージが表示されます。
Word cannot start the converter SSPDFCG_X64.cnv
この問題は、コンピューターに、ソフトウェアのインストールがインストールされている場合に発生することがあります。
[編注]以下のサイトの情報から、これはエンタープライズ版のWordのPDFコンバータのテキストコンバータらしい。
Word2013を立ち上げるとコンバーターを起動できないとエラーが出る – 2014/4/21 answers.microsoft.com
これは再インストールでも治らないので注意が必要らしい。

Microsoft Office 互換機能パック は2018年4月にダウンロードもサポートも廃止された。

この互換機能パックは、「Office 2000」や「Office 2002」、「Office 2003」といった古い「Office」で新しいファイル形式(DOCX、XLSX、PPTXなどのいわゆる“~X”形式)を開けるするようにするための追加ソフトです。

以前はこのようなアドオンを出すと
https://support.microsoft.com/ja-jp/help/936011
https://archive.ph/GK2HA
こんなイラストをふんだんにつかったページを出していた。最終更新日: 2017/04/25であるが、この1年後に廃止ししてしまうのである。
それどころか今ではエラーが出ても対処方法すらわからない時がある。

Office 2013 および Office 2016 のサイド バイ サイドの MSI インストールに関する問題

サイド バイ サイド インストールで Microsoft Office Professional Plus 2013、および Microsoft Office Professional Plus 2016 をインストールし、2016 の Office をアンインストールするいると仮定します。このシナリオでは、次の問題のいずれかが発生する可能性があります。

やりすぎてわけがわからなくなったときのリセット方法

基本はNormal.dotmの修正

標準テンプレート (Normal.dotm) を変更する
Normal.dotm テンプレートは Microsoft Word を起動するたびに開きます。また、文書の基本的な外観を決定する既定のスタイルとカスタマイズが含まれます。
注: Normal.dotm に対する変更はすべて、今後作成される文書に適用されます。

Wordはマクロの記録を必ずテンプレートに記録しようとするし、すぐうっかりと標準テンプレートを変更する。
白紙のDocumentを作成する、マクロで言えばWord.Application.Documents.Addという命令は、新しいDocumentを追加しているのではなく、Normal.dotmまたはNormal.dotxあるいはdoc形式のテンプレートNormal.dotを呼び出している行為である。これはWord95時代から一緒である。しかし通常はテンプレートなど意識していないため、理解がしがたい。
またグループポリシーを決めるというのは、このテンプレートを変えるという行為である。指定された場所のOffice2007形式のテンプレートを呼び出すということを決めるのである。

注: Normal.dotm が名前変更、破損、移動された場合、次回の Word の起動時に、新しいバージョン (元の既定の設定を使用) が Word で自動的に作成されます。 新しいバージョンには、名前変更または移動したバージョンに対して行われたどのカスタマイズも含まれません。
さらにすごいのはNormal.dot(mx)は削除しても作成してしまう点である。
カスタム テンプレートが表示されない理由

https://templates.office.com/en-us/templates-for-Word
全文書対象のテンプレートが破損している場合に Word のオートメーションでエラーが発生する

概要
1 つまたは複数の無効な全文書対象のテンプレート ファイルが原因で、アウトプロセス オートメーション クライアントで次のいずれかのエラー メッセージが表示されることがあります。
Word で使用されている全文書対象のテンプレート ファイルが破損している可能性があります。
注 : Microsoft Office Word 2007 では、全文書対象のテンプレートの名前は Normal.dotm です。Microsoft Office Word 2003 およびそれ以前のバージョンの Word では、全文書対象のテンプレートの名前は Normal.dot です。
「概要」に記載されているいずれかのエラー メッセージが表示される場合、全文書対象のテンプレートの名前を一時的に変更して、そのテンプレートが問題の原因であるかどうかを確認できます。
全文書対象のテンプレートの名前を変更すると、ユーザー設定のスタイル、ユーザー設定のツール バー、マクロ、および定型句など一部のオプションがデフォルトの設定にリセットされます。全文書対象のテンプレートが破損していない場合にこれらの設定を復元できるように、このテンプレート ファイルを削除せずに名前を変更することを強く推奨します。
Word の特定のインストール環境では、正規の全文書対象のテンプレート ファイルが複数存在することがあります。この状況は、同じコンピュータで複数のバージョンの Word を実行している場合や、同じコンピュータに複数のユーザー プロファイルが存在する場合などに発生します。この状況では、Normal.dot または Normal.dotm の正しいコピーの名前を変更するように特別な注意を払う必要があります。
カスタム テンプレートが表示されない理由v

その1 Normal.dotを作り直す

よくあるのはdotmに間違ってマクロを登録してしまったなど。
全文書対象のテンプレートが破損している場合に Word のオートメーションでエラーが発生する
Normal.dot  2007以降はNormal.dotm

その2ツールを使う方法

[方法] Word のユーザーオプションとレジストリ設定をリセットする

Microsoft Word の設定を3秒で初期化・リセットする公式ツール
この記事によると再インストールでもレジストリが変更されない場合があり、上記のツールを使うのが有効だと言うことである。

Wordの攻略法!~テンプレートを利用する~

ただし、とても便利で重宝するテンプレートですが、そのテンプレートには複雑な設定や書式が組み込まれていることも多く、初心者にとっては、逆に使いにくいと感じることがあるかもしれません。すべてテンプレートから選択して作成し始めるのではなく、やはり「白紙の文書」から新規作成していくスキルを身につけましょう。

攻略法と言いながら白紙の文書から始めようとは。。。まあ攻略法だからいいのかも。しかし、この説明が正しくないのはご理解いただけると思う。これはNormal.dotmから始めているので、実はテンプレートを使っているのである。

[方法] Word のユーザーオプションとレジストリ設定をリセットする

最後はここである。
Word(ワード)2019 オプション画面の最初の設定一覧 2019/10/4 プラウ
スクリーンショットで初期設定を表示。VBAですべて設定できないため、便利。

互換モードの前にグループポリシー

Office の管理用テンプレートを使用してグループ ポリシー (GPO) で Office 365 ProPlus を制御する
これはOffice 2007くらいには確立している手法だが、テンプレートを固定するのに過ぎない。だからといって互換性が完全に保証されるわけではない。これは特に企業で複数のPCがあり、すぐに入れ替えができない場合に使用する方法である。

互換モードを動かすためにやること

  • [Wordの互換性についてを知らないと表示がされないことがある - パソニュース 2016.12.22](https://pasonyu.com/word-compatibility/)のようにまず手動で行う方法を理解する。互換モード、Compatibilityは古いバージョンとのやり取りで必要だが、Word以外ではあまり関係がない。そもそも今はメールで終わってしまう。
  • 開発タブを表示させる(これでXMLツールが使用可能になる)
  • ファイルがブロックされていないか確認する。[Word でファイルを開くときに、レジストリポリシー設定またはファイル制限機能の設定によってブロックされる](https://docs.microsoft.com/ja-jp/office/troubleshoot/word/opening-file-blocked-by-registry-policy)
  • 法人用の場合、グループポリシーを確認する

注意点

doc形式ファイルは開くことはできるが保存ができないため必ず97-2003形式docになる。
これは開くことができても保存が設定で選択肢がないため。保存ができない。
仮に開けても保存は必ずWord97-2003形式に変換されてしまう。
たとえばdoc形式ファイルを作って保存する。

イミディエイトで?ActiveDocument.OptimizeForWord97 = True でFalseという結果が得られるのを確認して、

?ActiveDocument.OptimizeForWord97 = True

それに次のようなvbaを書く。

Sub test()
ActiveDocument.OptimizeForWord97 = True
End Sub

このマクロを実行した上であらためて、イミディエイトで?ActiveDocument.OptimizeForWord97 = Trueを行うと今度はtrueが帰ってくる。
しかし、これでオプションから詳細を見てもレイアウトはユーザー設定になっており、Office 97形式ではない。

デフォルトのドキュメントフォルダとカレントのフォルダ

今回のマクロは、設定データをデフォルトの保存フォルダに書く。保存されていない場合はこちらか
現在のWordのカレント(参照している)フォルダに書く

Sub Wordのデフォルトのドキュメントが保存されるフォルダ()
Dim MFld As String
MFld = Application.Options.DefaultFilePath(wdUserTemplatesPath)
If Dir(MFld, vbDirectory) <> "" Then
Shell "C:\Windows\Explorer.exe " & MFld, vbNormalFocus
Else
Debug.Print "フォルダを確認して下さい。", vbInformation
End If
End Sub
Sub Wordが現在参照しているフォルダ()
Dim MFld As String
MFld = Application.Options.DefaultFilePath(wdCurrentFolderPath)
If Dir(MFld, vbDirectory) <> "" Then
Shell "C:\Windows\Explorer.exe " & MFld, vbNormalFocus
Else
Debug.Print "フォルダを確認して下さい。", vbInformation
End If
End Sub

Wordのユーザーテンプレート、デフォルトのテンプレートの場所が違う(Office 2013 Later)

「個人用テンプレートの既定の場所」を設定するWordマクロではこれを統一するコードを発表している。この方法は

が、これはバージョンごとに変わる。今回のVBAはWord2013と2016である。これ以降はまた変わるかもしれないので、一旦限定しておく。

Wordが新規文書作成のときに表示しているテンプレートの場所

日本語の公式サイトでは
カスタム テンプレートが表示されない理由
https://support.office.com/ja-jp/article/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0-%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e7%90%86%e7%94%b1-88ed77ca-df34-49e9-9087-3f01ae296e6e?ui=ja-JP&rs=ja-JP&ad=JP

英語の公式サイトでは
Where are my custom templates?
https://support.office.com/en-US/Article/Where-are-my-custom-templates-88ed77ca-df34-49e9-9087-3f01ae296e6e
で公開されている。英語版のほうがイラストもあってわかりやすい。

%appdata%\Microsoft\Templates\

こちらは新規の状態で、個人用をクリックすると開く(英語ではPersonal)となっている。

Sub OpenExplorerWordUserTemplateFolder()
Dim MFld As String
MFld = Application.Options.DefaultFilePath(wdUserTemplatesPath)
If Dir(MFld, vbDirectory) <> "" Then
Shell "C:\Windows\Explorer.exe " & MFld, vbNormalFocus
Else
Debug.Print "フォルダを確認して下さい。", vbInformation
End If
End Sub

Officeが作成するテンプレートフォルダの場所

Wordはこのフォルダを参照するようにはなっていない。このレジストリの場所からしてもOfficeが参照している。なぜなら、この場所はWordだけでなくすべてのOfficeアプリを変更しないと一旦削除しても復活するからだ。
日本語版だと%USERPROFILE%\Documents\Office のカスタム テンプレート
英語版では%USERPROFILE%\Documents\Csutom Office Templates
になっている。

Sub MicrosoftOfficePersonal_Custmom_Template()
Dim MFld As String
If Application.Version = 15 Then
  MFld = System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options", "PersonalTemplates")
End If
If Application.Version = 16 Then
  MFld = System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options", "PersonalTemplates")
End If
If MFld <> "" Then
Debug.Print MFld
If Dir(MFld, vbDirectory) <> "" Then
Shell "C:\Windows\Explorer.exe " & MFld, vbNormalFocus
Else
Debug.Print "フォルダを確認して下さい。", vbInformation
End If
End If
End Sub

クィックスタイルのセット

%APPDATA%\Microsoft\QuickStyles
通常はまず空である。これはこのさきにあるように使うときに登録していく形になる。
Word2016:スタイルセット(クイックスタイル)の使い方 完全マスター!

このもとのフォルダを開くVBAマクロ

Sub DefaultQuickStylesFolder()
Dim MFld As String
MFld = Application.Options.DefaultFilePath(wdProgramPath) & "\" & Application.Language & "\QuickStyles"
If Dir(MFld, vbDirectory) <> "" Then
Shell "C:\Windows\Explorer.exe " & MFld, vbNormalFocus
Else
Debug.Print "フォルダを確認して下さい。", vbInformation
End If
End Sub

さらにデフォルトのテンプレート

Office 2010とOffice 2007

2007 office プログラムと 2010 Office プログラムによって、作成したすべての新しいカスタムテンプレートが保存されます。 Microsoft Office プログラムは、そのプログラムに属するテンプレートについて、次のいずれかの場所を検索します。

ユーザーテンプレートファイルの場所
Windows XP の場合: %APPDATA% \Microsoft\Templates
Windows Vista または Windows 7 Windows 0 PC の場合: %Appdata%\Microsoft\Templates
レジストリでは
Office 2007:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\General
Office 2010:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\General

ワークグループテンプレートファイルの場所
サーバー管理者に問い合わせる。通常は組織で使うテンプレート
アドバタイズされてインストールされたテンプレートファイルの場所
非ファイルベースのテンプレートファイルの場所
インストールのときに追加されているテンプレート(Advertised And Instaled template)
Offic 2007まで
%Programfile%Microsoft Office\Templates\ Language ID Number
IDNumberは4桁の整数US版は1031 日本語版は1041

判断の基準にしたWord VBA マクロ

互換性の判断は次のマクロを基準とする。


  • このマクロは文書を保存していなくても現在のレイアウト(互換性)を出力する。
  • 保存していない場合はデフォルトのフォルダに出力する。
  • テキストファイル名は文書1なら文書1.Txtである。

現在のWordファイル(doc,docx,docm)の定数を出力するマクロ:ThisDocCompatibility73

ThisDocCompatibility73
Sub ThisDocCompatibility73()
' Word 2013 Later
Const ForWriting = 2
Dim wDoc As Word.Document: Set wDoc = ThisDocument
Dim i As Long, cnt As Long, TrueCnt As Long
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim TS 'As TextStream
Dim oFile 'As File
Dim sFileName As String
Dim sPath As String
Dim buf As String
Dim arT() As String

On Error Resume Next
sFileName = FSO.getbasename(wDoc.FullName)
sPath = CreateObject("WScript.Shell").SpecialFolders(16) & "\"
Set TS = FSO.OpenTextFile(sPath & sFileName & ".txt", ForWriting, True)
If Err.Number <> 0 Then Debug.Print Err.Description: Exit Sub
With ActiveDocument
TS.WriteLine .FullName
TS.WriteLine .OpenEncoding
End With
cnt = 1
For i = 1 To 73
If Err.Number = 0 Then
TS.WriteLine i & "," & wDoc.Compatibility(i)
cnt = cnt + 1
If wDoc.Compatibility(i) Then
ReDim Preserve arT(0 To TrueCnt)
buf = buf & i & ","
TrueCnt = TrueCnt + 1
End If
Else
TS.WriteLine i & "," & Err.Description
Err.Clear
End If
Next
TS.WriteLine "True Parameter Count:" & TrueCnt
TS.WriteLine "True Enumration Number :" & buf
TS.Write "CompatibilityMode" & vbTab & ActiveDocument.CompatibilityMode
TS.Close
End Sub

これは簡易版で、単純にActiveDocumentのTrueを列挙してイミディエイトに出力する

ただし、パラメーターの数はWordのバージョンで制限している。

Sub DebugPrintTrueCompatibilityNumber()
Dim i As Long
Dim cnt As Long
Dim MaxCnt As Long
Dim buf As String
Dim TrueCnt As Long
If Application.Version <= 12 Then
MaxCnt = 65
End If
If Application.Version = 12 Then
MaxCnt = 69
End If
If Application.Version = 15 Then
MaxCnt = 70
End If
If Application.Version = 16 Then
MaxCnt = 73
End If
On Error Resume Next
TrueCnt = 0
For i = 1 To MaxCnt
If ThisDocument.Compatibility(i) = True Then
buf = buf & i & ","
TrueCnt = TrueCnt + 1
End If
If Error.Number <> 0 Then Err.Clear
Next
Debug.Print buf
End Sub

互換性の判断基準とした定数の構成

レイアウトオプションを設定する(Word 2007 VBA) 初心者備忘録
またWord 2007 については教えて!HELPDESKのサイトのテンプレートも参考とした

Word2003とWord2007形式のファイルはVBSCriptと以下のVBAで作ったファイルはパラ    メーターの個数が違う。

Word 2007 docx

True Parameter Count:6
True Enumeration Number :66,67,68,69,71,72
CompatibilityMode 12
以下のコードでは71.72は定義されない。Trueは10である。

Word 2003 doc

True Parameter Count:20
True Enumration Number :51,52,53,54,55,56,57,59,60,61,62,63,64,65,66,67,68,69,71,72
CompatibilityMode 11
下の表にはないが、65以降はFalesにしているので、66以下の6個は存在せずTrueは14になる。

Compatibility定数とVersionの関係

とりあえずThisDocCompatibility73がWord2016の最大数なので、これを実行する。
これを番号順で並べて主要なバージョンと比較してみる。
するとVersionが新しくなると減っていく。
しかし、一様に減少するのではない。

WdCompatibility定数と主要なファイル形式の関係

Number Enum Description CAT OPOder MSDOS WD95 WD95J WD97 WD97J WDMac WD2K Wd2003 Wd2007
1 wdNoTabHangIndent ぶら下げインデントの自動タブ位置を無視する(A) 14CompatibilityOptionA 9 True
2 wdNoSpaceRaiseLower 上付き文字/下付き文字を表示するための行間を挿入しない? 14CompatibilityOptionA 10 True
3 wdPrintColBlack モノクロプリンターで印刷するとき、色を黒で印刷するc 14CompatibilityOptionA 29
4 wdWrapTrailSpaces 行末のスペースを次の行に送る(T) 14CompatibilityOptionA 56
5 wdNoColumnBalance 連続セクションの列のバランスを維持しません。セクションの末尾や文書の末尾で段の長さを調整しない(B) 14CompatibilityOptionA 14
6 wdConvMailMergeEsc 差し込み印刷のデータ文書で円記号¥を""として扱う(T) 14CompatibilityOptionA 39
7 wdSuppressSpBfAfterPgBrk ハードページまたは段区切りの後のスペースを非表示にします。任意設定のページ区切りまたは段区切りの後にスペースを挿入しない(S) 14CompatibilityOptionA 36 True
8 wdSuppressTopSpacing 各ページの先頭行の行間を強制的に1行にする(T) 12Layout 8 True
9 wdOrigWordTableRules 表の罫線をWord5.x For the Macintoshのルールで結合する(T) 14CompatibilityOptionA 6 True
10 wdTransparentMetafiles メタファイルの背後にある文字列やグラフィックスを表示します。
11 wdShowBreaksInFrames レイアウト枠内の任意指定のページ区切り、段区切りを表示する(H) 14CompatibilityOptionA 31 True True
12 wdSwapBordersFacingPages 奇数ページで左右の罫線を入れ替える(L) 14CompatibilityOptionA 38
13 wdLeaveBackslashAlone バックスラッシュを円記号に変換する。(B) 12Layout 2 True True True True
14 wdExpandShiftReturn 改行記号を挿入した場合、両端揃えにしない? 12Layout 7 True True True True
15 wdDontULTrailSpace 末尾のスペースに下線を引く(U) 12Layout 10 True True True True
16 wdDontBalanceSingleByteDoubleByteWidth 半角文字と全角文字の文字幅を調整する(S) 12Layout 11 True True True True
17 wdSuppressTopSpacingMac5 ページの先頭の余分なスペースを削除する(Word 5.x for the Macintosh)(M) 14CompatibilityOptionA 35 True
18 wdSpacingInWholePoints 文字間隔の拡大縮小を整数ポイント単位で行うc 14CompatibilityOptionA 23 True
19 wdPrintBodyTextBeforeHeader ヘッダー/フッターの前に本文を印刷します。B) 14CompatibilityOptionA 28
20 wdNoLeading 文字の上に余分なスペースを挿入しない(L) 14CompatibilityOptionA 11 True
21 wdNoSpaceForUL 文字の下に下線のための余分なスペースを挿入する(S) 12Layout 13 True True True True
22 wdMWSmallCaps 大きめの小型英大文字を使用する(Word 5.x for the Micintosh)(L) 14CompatibilityOptionA 43 True
23 wdNoExtraLineSpacing 余分な行間のスペースを削除する(WordPerfect5.x)(P) 14CompatibilityOptionA 36
24 wdTruncateFontHeight フォントの高さを切り詰める(F) 14CompatibilityOptionA 40
25 wdSubFontBySize フォントサイズを基準にフォントの代替を行う(F) 14CompatibilityOptionA 34
26 wdUsePrinterMetrics 文書をレイアウトときにプリンターの設定に従う(P) 14CompatibilityOptionA 45 True True
27 wdWW6BorderRules Word 6 .x/95 の罫線のルールを使用します。 14CompatibilityOptionA 53 True True
28 wdExactOnTop 行間が固定値の行を中央揃えにしないc 12Layout 9
29 wdSuppressBottomSpacing ページの下の余分なスペースを削除する(B) 12Layout 3
30 wdWPSpaceWidth スペースの幅を WordPerfect 5. x のように設定します。
31 wdWPJustification Windows 用 WordPerfect 6.x のような完全なジャスティフィケーションを行います。
32 wdLineWrapLikeWord6 Word 6.0 のような行の折り返し/右インデントで返す位置をWord6.0に合わせる(L) 14CompatibilityOptionA 55
33 wdShapeLayoutLikeWW8 Word 97 と同様にオートシェイプを配置する(A) 14CompatibilityOptionA 25 True True True True True
34 wdFootnoteLayoutLikeWW8 Word 6. x/95/97 のような脚注を配置する(#E) 14CompatibilityOptionA 26 True True True True True
35 wdDontUseHTMLParagraphAutoSpacing HTML 段落にはスペースの自動調整を使用しない(H) 12Layout 1 True True True True True True
36 wdDontAdjustLineHeightInTable 表中では行の高さをグリッド線 (格子) の高さに合わせます。 12Layout 12 True True True True
37 wdForgetLastTabAlignment 以前のタブの配置を無視する(L) 14CompatibilityOptionA 24 True True True True True True
38 wdAutospaceLikeWW7 Word95のように文字間隔と列幅を自動調整する(S) 14CompatibilityOptionA 5 True True
39 wdAlignTablesRowByRow 表の列を個々に配置する(1) 14CompatibilityOptionA 1 True True True True True
40 wdLayoutRawTableWidth 表を元の幅で配置する(T) 14CompatibilityOptionA 27 True True True True True
41 wdLayoutTableRowsApart 表の行を離して配置する(T) 14CompatibilityOptionA 3 True True True True True
42 wdUseWord97LineBreakingRules 日本語(アジア言語)の文字列に Word 97 と同じ改行ルールを適用する(L) 14CompatibilityOptionA 54 True True True True True
43 wdDontBreakWrappedTables 位置を指定した表の途中で改ページしない(B) 14CompatibilityOptionA 16 True True True True True True
44 wdDontSnapTextToGridInTableWithObjects 行内にオブジェクトがある場合は、文字列を表のグリッド線に合わせない(S) 14CompatibilityOptionA 17 True True True True True True
45 wdSelectFieldWithFirstOrLastCharacter 最初または最後の文字を含むフィールドを選択する? 14CompatibilityOptionA 30 True True True True True True
46 wdApplyBreakingRules 改行ルールを使用する。 12Layout 6
47 wdDontWrapTextWithPunctuation 文字グリッド使用時は句読点のぶら下げを行わない(A) 14CompatibilityOptionA 12 True True True True True True
48 wdDontUseAsianBreakRulesInGrid 文字グリッド使用時は禁則処理を行わない(A) 14CompatibilityOptionA 18 True True True True True True
49 wdUseWord2002TableStyleRules Word 2002 表スタイルのルールを使用する(T) 14CompatibilityOptionA 46 True True True True True True
50 wdGrowAutofit 表を余白に拡張する(T) 14CompatibilityOptionA 4 True True True True True True
51 wdUseNormalStyleForList 箇条書きや段落番号に標準スタイルを使用する(N) 14CompatibilityOptionA 44 True True True True True True True
52 wdDontUseIndentAsNumberingTabStop 箇条書きと段落番号のタブ位置としてぶら下げインデントを使用しない(H) 14CompatibilityOptionA 17 True True True True True True True
53 wdFELineBreak11 アジア言語の言語で Word 2003 のぶら下げルールを使用する/Word2003の句読点のぶら下げルールを適用する(H) 14CompatibilityOptionA 48 True True True True True True True
54 wdAllowSpaceOfSameStyleInTable 表内で同じスタイルの場合には段落間にスペースを設定する(S) 14CompatibilityOptionA 2 True True True True True True True
55 wdWW11IndentRules 折り返しが設定されたオブジェクトの隣の文字列に Word 2003 のインデント規則を適用する(L) 14CompatibilityOptionA 49 True True True True True True True
56 wdDontAutofitConstrainedTables 折り返したオブジェクトの隣にある表はサイズを自動調整しない(A) 14CompatibilityOptionA 13 True True True True True True True
57 wdAutofitLikeWW11 Microsoft Office Word 2003 の表の自動調整ルールを使用する(H) 14CompatibilityOptionA 51 True True True True True True True
58 wdUnderlineTabInNumList 段落番号の箇条書きでタブ文字に下線を引く(T) 14CompatibilityOptionA 41 True True True True True True True
59 wdHangulWidthLikeWW11 韓国語の文字にプロポーショナル幅を使用しません。韓国文字に比例幅を使用しない(P) 14CompatibilityOptionA 20 True True True True True True True
60 wdSplitPgBreakAndParaMark ページ区切りと段落番号を分割する(A) 14CompatibilityOptionA 32 True True True True True True True
61 wdDontVertAlignCellWithShape 内部使用のために予約されています。図形を含む表のセルを垂直方向に揃えない(V) 14CompatibilityOptionA 22 True True True True True True True
62 wdDontBreakConstrainedForcedTables 内部使用のため予約済みです。ページに収まらない表の途中で改ページしない(B) 14CompatibilityOptionA 15 True True True True True True True
63 wdDontVertAlignInTextbox 内部使用のために予約されています。テキスト ボックス内では縦方向に揃えない(V) 14CompatibilityOptionA 21 True True True True True True True
64 wdWord11KerningPairs 内部使用のため予約済みです。Word 2003 のカーニング ペアのルールを使用する(H) 14CompatibilityOptionA 50 True True True True True True True
65 wdCachedColBalance 内部使用のため予約済みです。キャッシュされた段落情報を使用して段落均等にする 14CompatibilityOptionA 42 True True True True True True True
66 wdDisableOTKerning オープンタイプフォントの書式設定機能を無効にする(O) Office 2010 Later 14CompatibilityOptionA 6 True
67 wdFlipMirrorIndents 見開きページのインデント幅および相対配置の内側と外側を入れ替える(S) 14CompatibilityOptionA 38 True
68 wdDontOverrideTableStyleFontSzAndJustification Word2002-2007のスタイル評価ルールを使用して表内のフォントサイズと段落の配置を設定する 14CompatibilityOptionA 47 True
69 wdUseWord2010TableStyleRules Word 2010 表スタイルルールを使用する(T) 14CompatibilityOptionA 52 True
70 wdDelayableFloatingTable 表の周りのテキストの折り返しをサポートする
71 wdAllowHyphenationAtTrackBottom ページまたは列の間のハイフネーションを許可します 12Layout 4
72 wdUseWord2013TrackBottomHyphenation ページや列の間のハイフネーションにWord2013の規則を使用します(H) 12Layout 5
73 wdUsePre2018iOSMacLayout

なお、VBAのMACは文書を保存する場合のファイル形式(Word2016 for Mac,Word2011 for Mac)によると、Word 98 ~ Word 2004 for Mac および Word 97 ~ Word 2003 for Windows と互換性のある文書形式(拡張子doc)である。
また現在のdocx形式はxml形式で、WindowsのWordと互換性を保っている。xmlってMacが問題なのだとわかる。

互換性がオプションの詳細設定ではレイアウトの設定に吸収されている理由

互換性というものはオプションから指定することはできず、レイアウトに大半が吸収されている。
また、言語によって設定できないものがある。
なぜ互換性ではなく、レイアウトなのか。
これは個人的な推定だが、実は互換性モードを持ってしても表やワードアート、文書パーツがうまく動かないことがすでにわかっている。
このため、互換性という言葉は使い切れないのである。また Word2013以降はdoc形式は97-2003形式だけが読み込み保存ができる。
ほかにも、数式エディタ3.0、フォント、画像など、絶対に互換性がないものがある。
以前はコンバーターを使っていたが、もはやコンバーターをあきらめている。このため、互換性があるとは言えなくなってしまった。
また、想定されるのも異なるバージョン間のdoc形式のやり取りではなく、古いファイルを変換するだけになっている。
このため互換性が事実上ないため、このような表現になっているのだろう。
この他、箇条書きにもWord2010という指定形式がある。これはほとんど意識されない。
スタンダードなパターンにある程度付加した状態というものが存在しうる。

詳細設定の閲覧モードから、設定値を確認してみる。

まずdoc形式でファイルを保存する。

MSDOS Word Processerに合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:40 - 6
1,2,7,11,33,34,35,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72
CompatibilityMode 11 : wdWord2003
以下マイナスは66番以降のTrueであり、本来は不要なはずのものである。MSDOS Word Processer 形式は本来は36である。しかし、白紙の状態では設定しても、自動的に6個の互換性がTrueになる。ほかにも本来60番台以降は2002などであり、不要だと考えられる。

MSDOSに合わせてレイアウトを最適化をオプションで選択した場合

TrueCount: 38 - 4
1,2,7,11,33,34,35,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69

WD95に合わせてレイアウトを最適化をオプションで選択した場合

TrueCount: 39
13,14,15,16,21,26,27,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65
2013では26は不具合が報告されている。2016では起きない。

WD95JPNに合わせてレイアウトを最適化をオプションで選択した場合

TrueCount: 34
26,27,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65

WD97ENGに合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:39 - 3
13,14,15,16,21,33,34,35,36,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72(,73)
以下、73は設定かバージョンによって出たりでなかったりする。基本は65番までで判定する。
きぬあさ氏のコードでMicrosoft Word(日本語版) 97/98 Case 4以下は日本語版ではなく、レイアウトの設定オプションからは英語版である。
また、きぬあさ氏のコードは2007版と考えられるが、2007版は36が指定されない。36を指定すると66版以降を無視すると同じである。73番も自動的に指定されたりされなかったりする。

WD97JPNに合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:34 - 3
33,34,35,36,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73
33,34,35,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72
きぬあさ氏の英語版のほうが日本語場であると考えられる。ただしきぬあさ氏の方は36番がなく、66,67,68、69が設定されている。73番の指定のされ方は全てにおいて不明である。

WD2000に合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:29 -7
43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72(,73)
きぬあさ氏のコード
13,14,15,16,21,33,34,35,36,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,
これは13から42が異なっている

WD2002に合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:16
49,50,51,52,53,54,55,56,57,59,60,61,62,63,64,65,66,67,68,69,71,72,(73)
CompatibilityMode 11 : wdWord2003
きぬあさ氏のコード
13,14,15,16,21,36,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72
なお、同じファイルを使いまわしたせいか、次もTrueになっていた
33,34,35,37,39,40,41,42,43,44,45,47,48,
きぬあさ氏が指定したものだけで65番までを比較すると比較するとレイアウトモードでは13,14,15,16,21,36が指定されていない。他方レイアウトモードでは58が追加されている。白紙の段階で比較しているせいなのかもしれない。

WD2003に合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:21 -7
51,52,53,54,55,56,57,59,60,61,62,63,64,65,66,67,68,69,71,72(,73)

docm形式
Sub wdSaveAs2007()
ThisDocument.SaveAs2 "c:\hoge\wd2007.docm", CompatibilityMode:=12
End Sub

まずこれで保存して、2007からレイアウトを変えて出力する

WD2007に合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:8
66,67,68,69,71,72,73
本当は69はあり得ないはずだが。
一応上記の表でも66,67,68,69なので正しい。

WD2010に合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:4
69,71,72,73

WD2013に合わせてレイアウトを最適化をオプションで選択した場合

TrueCount:3
71,72,73

Word 2013 の互換モードで文書を開き [文書をレイアウトするときにプリンターの設定に従う] オプションを有効にすると表のセルの幅や高さが変更される
適用対象: Word 2013
現象
Microsoft Word 2013 で互換モードで文書を開き [文書をレイアウトするときにプリンターの設定に従う] オプションを有効に設定すると、表に文字を入力したり改行すると、表のセルの幅や高さが変更されます。
回避策
以下のいずれかの方法で回避してください。
方法 1. 表を選択し、[表のプロパティ]-[表]-[オプション] から、[自動的にセルのサイズを変更する] オプションを [無効] に設定する。
方法 2. [ファイル]-[オプション]-[詳細設定]-[互換性オプションの適用先: <文書名(互換モード).docx>] から [文書をレイアウトするときにプリンターの設定に従う] オプションを [無効] に設定する。
方法 3. [文書をレイアウトするときにプリンターの設定に従う] オプションを無効に設定するマクロを実行する。

ActiveDocument.Compatibility(wdUsePrinterMetrics) = False

最終更新日: 2016/09/29
実際にこれを使用している例
Microsoft Word から印刷すると、ドライバーで設定した用紙トレイから出力されない
https://www.fujixerox.co.jp/support/mf/dc5_c7775/contents/dc5_c7775_8210.html
https://www.moug.net/tech/woopr/0070025.html
下書きフォントは印刷と異なる。
スクリーンフォントは必ずしもTrueTypeフォントではないため変わってしまう。
アニメーション効果は印刷されない。

Word 2013のホットフィックス2014/7/8

この記事では、2014年7月8日付けのMicrosoft Word 2013修正プログラムパッケージで修正される問題について説明します。
(中略)
2014年4月の累積的な更新プログラムをインストールした後、フローティングテーブルの一部がページ間で分割された場合、テーブルを囲むテキスト行と段落がテーブルの横ではなく後に表示される場合があります。使用する場合その行番号機能を使用すると、行番号は改ページ後に表示され、表の終わりを超えて拡張される場合があります。
注この動作は、テーブルの周りのテキストの折り返しをサポートしていない以前のバージョンのWordと一致しています。Word 2013 RTMの動作が必要なユーザーは、現在の修正プログラムをインストールしてから、変更を適用する必要のある特定のドキュメントにwdDelayableFloatingTableドキュメント互換性フラグを設定できます。
ここから「表の周りのテキストの折り返しをサポートする」とした。これは互換性を考えた場合はおおむねFalseになると思われるが、自動的にTrueになるので、

今回一番お世話になっているKa-netの資料

https://www.ka-net.org/office/of14.html
お世話になっていて文句を言うのは本当に恥ずかしいことだが、いくつか気づいたので。

wdWPSpaceWidthは30

wdWPSpaceWidth は65ではなく30である。

Word2007からWord2016の間にCompatibility定数が増えている

これは誤りではないが、現在の記事では65までしか紹介されていない。しかしオブジェクトブラウザで見ると、73まで存在する
Word 2007 65
Word 2010 69
Word 2013 73
となっているらしい。なぜかというとあとで互換モードを設定するとWord2007形式は67-69までがTrueになるからだ。そして69はWord2010の表スタイルルールなので、2007の時点では65までしか公表されていなかった。Word2013は後の資料でレイアウトエンジンを変えていることがわかっているので、Word2013から73番まであると考えられる。この点は推定なので、異なる根拠があればご教示いただきたい。

Ka-netは65までだが61から65までの情報がなぜか乗っている。

公式は内部予約などと訳の分からないことを言っており、なぜ知っているのか謎。名前から推定しているのだろうか?

73番の正体が不明

検索すると2つしかヒットしないくらい少ない。また解説しているサイトはない。
http://www.cawt.tcl3d.org/download/CawtReference_Word_Enum.html
https://bugreports.qt.io/secure/attachment/69036/qtbug65344_word_log.txt
名前からするとiOS及びMacintosh版のWord2018以前のレイアウトに関係していると思われる。

ThisDocCompatibility256という実験をしてみると、おそらくまだ互換性の値があるらしい

実際は73でよい

ThisDocCompatibility256
Sub ThisDocCompatibility256()
Const ForWriting = 2
Dim wDoc As Word.Document: Set wDoc = ThisDocument
Dim i As Long, cnt As Long, TrueCnt As Long
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim TS 'As TextStream
Dim oFile 'As File
Dim sFileName As String
Dim sPath As String
Dim buf As String
Dim arT() As String
wDoc.Save
On Error Resume Next
sFileName = FSO.getbasename(wDoc.FullName)
sPath = CreateObject("WScript.Shell").SpecialFolders(16) & "\"
Set TS = FSO.OpenTextFile(sPath & sFileName & ".txt", ForWriting, True)
If Err.Number <> 0 Then Debug.Print Err.Description: Exit Sub
With ActiveDocument
TS.WriteLine .FullName
TS.WriteLine .OpenEncoding
End With
cnt = 1
For i = 1 To 256
If Err.Number = 0 Then
TS.WriteLine i & "," & wDoc.Compatibility(i)
cnt = cnt + 1
If wDoc.Compatibility(i) Then
ReDim Preserve arT(0 To TrueCnt)
buf = buf & i & ","
TrueCnt = TrueCnt + 1
End If

Else
TS.WriteLine i & "," & Err.Description
Err.Clear
End If
Next

TS.WriteLine "True Parameter Count:" & TrueCnt
TS.WriteLine "True Enumration Number :" & buf
TS.Write "CompatibilityMode" & vbTab & ActiveDocument.CompatibilityMode
TS.Close
End Sub

256までやるとTrue判定が存在する

WdCurrentVersionは
True Parameter Count:92
True Enumration Number :74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256
と92くらいTrueが存在する。まだ未公開のパラメーターが存在するのかもしれない。

CompatibilityMode定数

Word VBA 列挙体

WdCompatibilityMode enumeration (Word)

2019/06/07
https://docs.microsoft.com/ja-jp/office/vba/api/word.wdcompatibilitymode
Specifies the compatibility mode that Word uses when opening a document.
CompatibilityModeはファイルを開くときの互換性。

名前 説明
wdCurrent 65535 互換モードがWordの最新バージョンに相当します。
wdWord2003 11 Wordは、Word 2003 で最も互換性のあるモードに配置されます。 このモードでは、 Wordの新しい機能が無効になります。
wdWord2007 12 Word は、Word 2007 と最も互換性のあるモードに入ります。 このモードでは、 Wordの新しい機能が無効になります。
wdWord2010 14 Word は、Word 2010 と最も互換性のあるモードに入ります。 このモードでは、 Wordの新しい機能が無効になります。
wdWord2013 15 既定値です。 Wordのすべての機能が有効になります。

なお、Document.SaveAs2
SaveAs2([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter], [Encoding], [InsertLineBreaks], [AllowSubstitutions], [LineEnding], [AddBiDiMarks], [CompatibilityMode])
この一番最後のCompatibilityModeに定数が入るが、既定では、このパラメーターに値が指定されていない場合、Word では 0 の値が入力され、現在の文書の互換性モードを保持する必要があると指定されます。
By default, if no value is specified for this parameter, Word enters a value of 0, which specifies that the current compatibility mode of the document should be retained.

この辺の表現が微妙なのは以前書いている。
https://qiita.com/Q11Q/items/945f883d89f6084e96bd
上記のSaveAs2でも使用しているが、この定数はファイルを開くとき、とされている。しかしのSaveFormatを見ても、このような定数がないのである。

wdSaveFormat

https://docs.microsoft.com/ja-jp/office/vba/api/word.wdsaveformat
2017/06/08

SaveFormat定数を見ると0番1番7番が重複している

これがdocxとdocで一旦保存してから出ないとレイアウト(互換)の指定がうまくいかない原因であろう。

Reliefと比較すると19番以降が存在している

https://www.relief.jp/docs/word-vba-enum-wdsaveformat.html
2016年03月04日(金) 17時49分
Documentオブジェクト
Document.SaveAs2メソッドの保存形式・FileFormatに指定できる定数一覧
対象:Word2007, Word2010, Word2013, Windows版Word2016
https://www.relief.jp/docs/word-vba-enum-wdsaveformat.html
この記事はWord2010までのようだ。

公式の記載はこの本と異なっているのと24番が存在しない

もっとも、Mastering VBA for Office 2010
https://books.google.co.jp/books?id=bS7EDwAAQBAJ&pg=PA533&lpg=PA533&dq=wdFormatFlatXMLTemplate&source=bl&ots=5d-JnEOZ9w&sig=ACfU3U2AWPPLdlGCZI0AW6OQPnSE7xle7A&hl=ja&sa=X&ved=2ahUKEwjnhNz6x4noAhURG6YKHbIHAmwQ6AEwAnoECAgQAQ#v=onepage&q=wdFormatFlatXMLTemplate&f=false
では24番以外は紹介されている。

24番は2013で追加

Mastering VBA for Microsoft Office 2016
著者: Richard Mansfield
https://books.google.co.jp/books?id=32KYCwAAQBAJ&pg=PA575&lpg=PA575&dq=wdFormatStrictOpenXMLDocument&source=bl&ots=h_auf-bJxs&sig=ACfU3U1KiMSt2MJHS3PRJctK9BWeMSv9WQ&hl=ja&sa=X&ved=2ahUKEwibsZGbzonoAhUyJaYKHVdBBTUQ6AEwAnoECAgQAQ#v=onepage&q=wdFormatStrictOpenXMLDocument&f=false
というところまではわかったが例によって動作がよくわからない。
Office Open XML を使用してより良い Word 用アドインを作成する
ここで作られる厳密な書式指定のxmlのことをいう。
名前をつけて保存の完全Open XML Document(.xml)形式であろう。

XMLを有効にするには開発タブの表示が必要

初めての XML

Office で XML ツールを有効にする
既定では [開発] タブは表示されませんが、Office で XML コマンドを使用するとき、リボンに追加する必要があります。


  • Office 2016、Office 2013、Office 2010 の場合:[開発] タブを表示します。
  • Office 2007 の場合: [開発] タブを表示するか、開発モードで実行します。

Open XML Formats とファイル名拡張子
Office Server Document Converter Office Open XML (OOXML) とは? 概要、メリットと活用アプリケーション

Word 2013以降では、「名前をつけて保存」のメニューから「Word文書(docx)」と「完全Open XMLドキュメント(docx)」という二つのdocx形式を選択できる。これはISO/IEC 29500への準拠方法の相違である。

Name Value Description
wdFormatDocument 0 Microsoft Office Word 97 - 2003 binary file format.
wdFormatDocument97 0 Microsoft Word 97 document format.
wdFormatTemplate 1 Word template format.
wdFormatTemplate97 1 Word 97 template format.(実際は97ではなく97-2003形式)
wdFormatText 2 Microsoft Windows text format.(Plain ASCII)
wdFormatTextLineBreaks 3 Windows text format with line breaks preserved.
wdFormatDOSText 4 Microsoft DOS text format.
wdFormatDOSTextLineBreaks 5 Microsoft DOS text with line breaks preserved.
wdFormatUnicodeText 7 Unicode text format.
wdFormatEncodedText 7 Encoded text format.
wdFormatFilteredHTML 10 Filtered HTML format.
wdFormatHTML 8 Standard HTML format.
wdFormatRTF 6 Rich text format (RTF).
wdFormatWebArchive 9 Web archive format.
wdFormatXML 11 Extensible Markup Language (XML) format.(Word2003 Only)
wdFormatXMLDocument 12 XML document format.
wdFormatXMLDocumentMacroEnabled 13 XML document format with macros enabled.
wdFormatXMLTemplate 14 XML template format.
wdFormatXMLTemplateMacroEnabled 15 XML template format with macros enabled.
wdFormatDocumentDefault 16 Word default document file format. For Word, this is the DOCX format.
wdFormatPDF 17 PDF format.
wdFormatXPS 18 XPS format.
wdFormatFlatXML 19 Open XML file format saved as a single XML file.
wdFormatFlatXMLMacroEnabled 20 Open XML file format with macros enabled saved as a single XML file.(An unidexed XML document with macro capability)
wdFormatFlatXMLTemplate 21 Open XML template format saved as a XML single file.(An unindexted XML template)
wdFormatFlatXMLTemplateMacroEnabled 22 Open XML template format with macros enabled saved as a single XML file.
wdFormatOpenDocumentText 23 OpenDocument Text format.(An XML file format developed by Sun Microsystems)
wdFormatStrictOpenXMLDocument 24 Strict Open XML document format.

箇条書きwddefaultlistbehavior

使用しない限り発動しないタイプの設定
現在のList関係のサンプルやWord2013Later Docx形式ではwdWord10ListBehaviorが記録される。
https://docs.microsoft.com/ja-jp/office/vba/api/word.wddefaultlistbehavior

Name Value Description
wdWord10ListBehavior 2 Microsoft Word 2002 と互換性のある書式を使用します。(Word2013以降Docx形式はこれが既定らしい)
wdWord8ListBehavior 0 Microsoft Word 97 と互換性のある書式を使用します。
wdWord9ListBehavior 1 Microsoft Word 2000 で導入された Web 対応の書式を使用します。

互換文書ファイルを作る方法1 Word VBA

Compatibility定数を指定する。ただしWord2016用に修正したプログラム

Word2003まで

重要な注意点

  • まずWord2003まではファイルをdoc形式で保存しなければならない。こうしないと不安定になる
  • 保存したうえで、任意のバージョンを実行する。ファイルは上書き形式で保存される。
  • あくまでも一番近いレイアウトになるため、うまくいかないものが存在する。
  • また言語によって設定できないオプションがある。
  • Microsoft Scripting Runtime および Windows Scripting Host Object Modelを参照設定する
  • VBEのエラー処理の方法をエラー処理以外のエラーで中断に変更する。
  • 以上行って、一旦上書き保存する。それから実行する
  • 必ず互換性の設定をしてから、文書を作成する。例えば日付コンテンツコントロールを使用するとWord2007形式では保存されなくなる。
  • WordArtなど装飾の部分など、互換モードが設定できても完全に復元できない。

何が違うのか

Trueにするポイントは同じである。しかし、まずリセットClearCompatibilityをかける必要がある。このリセットをかける最大数がバージョンごとに異なるのである。そして必ずいったん全部Falseにしてからである。こうしないとdoc形式で保存したものが次には保存できない、Wordがクラッシュするという致命的なエラーが発生する。
また、Mac版もdoc形式でしか互換性を確保できない。docm形式ではエラーが発生する。

Word VBA doc各バージョンごとのDocumentファイルを作成するマクロ
使用方法と作動方法
  1. Word 2013 以降のバージョン。(Word 2010の定数がいくつまでか確認できないため)
  2. 新規文書を作成したら、白紙の状態で、2003までの形式はdoc形式、2007以降はdocm形式で保存する。
  3. 各バージョンのSubプロシージャを起動する。ただし、doc形式は2003まで、docm形式は2007以降
  4. 起動するとすべてのレイアウトオプションをFalseにする(doc形式、docx形式とも)falseにする。
  5. 現在確認されている65番までのコードを適用し、保存される。
コード
Sub Word2000CompatibilityMode()
'Word 2013 Japanese Docx形式不可 Doc Ok
If LCase(Right(ActiveDocument.FullName, 3)) <> "doc" Then Exit Sub
Call ClearCompatibility
With ActiveDocument
.Compatibility(wdNoSpaceForUL) = True
.Compatibility(wdDontAdjustLineHeightInTable) = True
.Compatibility(wdAllowSpaceOfSameStyleInTable) = True
.Compatibility(wdGrowAutofit) = True
.Compatibility(wdDontBalanceSingleByteDoubleByteWidth) = True
.Compatibility(wdLeaveBackslashAlone) = True
.Compatibility(wdDontWrapTextWithPunctuation) = True
.Compatibility(wdDontAutofitConstrainedTables) = True
.Compatibility(wdDontBreakConstrainedForcedTables) = True
.Compatibility(wdDontBreakWrappedTables) = True
.Compatibility(wdExpandShiftReturn) = True
.Compatibility(wdDontSnapTextToGridInTableWithObjects) = True
.Compatibility(wdDontUseAsianBreakRulesInGrid) = True
.Compatibility(wdDontUseIndentAsNumberingTabStop) = True
.Compatibility(wdHangulWidthLikeWW11) = True
.Compatibility(wdDontVertAlignInTextbox) = True
.Compatibility(wdDontVertAlignCellWithShape) = True
.Compatibility(wdDontULTrailSpace) = True
.Compatibility(wdSelectFieldWithFirstOrLastCharacter) = True
.Compatibility(wdSplitPgBreakAndParaMark) = True
.Compatibility(wdUnderlineTabInNumList) = True
.Compatibility(wdCachedColBalance) = True
.Compatibility(wdUseNormalStyleForList) = True
.Compatibility(wdUseWord2002TableStyleRules) = True
.Compatibility(wdFELineBreak11) = True
.Compatibility(wdWW11IndentRules) = True
.Compatibility(wdWord11KerningPairs) = True
.Compatibility(wdAutofitLikeWW11) = True
End With
ActiveDocument.Save
Call WriteOutTrueList("Word2000CompatibilityMode")
'CompatibilityMode = 11 'Word 2003
End Sub
''''''''''''''''''''''''''''''''''''''''''
' ***  Word 97/ 98 Japanese *'
‘初心者備忘録はレイアウトオプションの設定と反対か、Word2016の設定が反対なのかどちらかである
''''''''''''''''''''''''''''''''''''''''''
Sub word97JPNCompatibilityMode()
'Word 2013 Japanese Docx形式不可 Doc Ok
Call ClearCompatibility
On Error Resume Next
With ThisDocument
  .Compatibility(wdAlignTablesRowByRow) = True
  .Compatibility(wdAllowSpaceOfSameStyleInTable) = True
  .Compatibility(wdLayoutTableRowsApart) = True
  .Compatibility(wdGrowAutofit) = True
  .Compatibility(wdDontWrapTextWithPunctuation) = True
  .Compatibility(wdDontAutofitConstrainedTables) = True
  .Compatibility(wdDontBreakConstrainedForcedTables) = True
  .Compatibility(wdDontBreakWrappedTables) = True
  .Compatibility(wdDontSnapTextToGridInTableWithObjects) = True
  .Compatibility(wdDontUseAsianBreakRulesInGrid) = True
  .Compatibility(wdDontUseIndentAsNumberingTabStop) = True
  .Compatibility(wdDontUseHTMLParagraphAutoSpacing) = True
  .Compatibility(wdHangulWidthLikeWW11) = True
  .Compatibility(wdDontVertAlignInTextbox) = True
  .Compatibility(wdDontVertAlignCellWithShape) = True
  .Compatibility(wdForgetLastTabAlignment) = True
  .Compatibility(wdShapeLayoutLikeWW8) = True
  .Compatibility(wdFootnoteLayoutLikeWW8) = True
  .Compatibility(wdLayoutRawTableWidth) = True
  .Compatibility(wdSelectFieldWithFirstOrLastCharacter) = True
  .Compatibility(wdSplitPgBreakAndParaMark) = True
  .Compatibility(wdUnderlineTabInNumList) = True
  .Compatibility(wdCachedColBalance) = True
  .Compatibility(wdUseNormalStyleForList) = True
  .Compatibility(wdUseWord2002TableStyleRules) = True
  .Compatibility(wdFELineBreak11) = True
  .Compatibility(wdWW11IndentRules) = True
  .Compatibility(wdWord11KerningPairs) = True
  .Compatibility(wdAutofitLikeWW11) = True
  .Compatibility(wdUseWord97LineBreakingRules) = True
.Save
End With
Call WriteOutTrueList("Word97JPNCompatibilityMode")
'Compatiblitymode = 11 ' Word 2003
End Sub
''''''''''''''''''''''''''''''''''''''''''
' ***  Word 97/ 98 Japanese **************'
''''''''''''''''''''''''''''''''''''''''''
Sub word97JPNCompatibilityMode()
'Word 2013 Japanese Docx形式不可 Doc Ok
Call ClearCompatibility
With ActiveDocument
  .Compatibility(wdNoSpaceForUL) = True
  .Compatibility(wdAlignTablesRowByRow) = True
  .Compatibility(wdAllowSpaceOfSameStyleInTable) = True
  .Compatibility(wdLayoutTableRowsApart) = True
  .Compatibility(wdGrowAutofit) = True
  .Compatibility(wdDontBalanceSingleByteDoubleByteWidth) = True
  .Compatibility(wdLeaveBackslashAlone) = True
  .Compatibility(wdDontWrapTextWithPunctuation) = True
  .Compatibility(wdDontAutofitConstrainedTables) = True
  .Compatibility(wdDontBreakConstrainedForcedTables) = True
  .Compatibility(wdDontBreakWrappedTables) = True
  .Compatibility(wdExpandShiftReturn) = True
  .Compatibility(wdDontSnapTextToGridInTableWithObjects) = True
  .Compatibility(wdDontUseAsianBreakRulesInGrid) = True
  .Compatibility(wdDontUseIndentAsNumberingTabStop) = True
  .Compatibility(wdDontUseHTMLParagraphAutoSpacing) = True
  .Compatibility(wdDontAdjustLineHeightInTable) = True '追加
  .Compatibility(wdHangulWidthLikeWW11) = True
  .Compatibility(wdDontVertAlignInTextbox) = True
  .Compatibility(wdDontVertAlignCellWithShape) = True
  .Compatibility(wdDontULTrailSpace) = True
  .Compatibility(wdForgetLastTabAlignment) = True
  .Compatibility(wdShapeLayoutLikeWW8) = True
  .Compatibility(wdFootnoteLayoutLikeWW8) = True
  .Compatibility(wdLayoutRawTableWidth) = True
  .Compatibility(wdSelectFieldWithFirstOrLastCharacter) = True
  .Compatibility(wdSplitPgBreakAndParaMark) = True
  .Compatibility(wdUnderlineTabInNumList) = True
  .Compatibility(wdCachedColBalance) = True
  .Compatibility(wdUseNormalStyleForList) = True
  .Compatibility(wdUseWord2002TableStyleRules) = True
  .Compatibility(wdFELineBreak11) = True
  .Compatibility(wdWW11IndentRules) = True
  .Compatibility(wdWord11KerningPairs) = True
  .Compatibility(wdAutofitLikeWW11) = True
  .Compatibility(wdUseWord97LineBreakingRules) = True.Save
End With
Call WriteOutTrueList("Word97JpnCompatibilityMode")
'Compatiblitymode = 11 ' Word 2003
End Sub
''''''''''''''''''''''''''''''''''''''''''
' ***  Word 95 Japanese *****************'
''''''''''''''''''''''''''''''''''''''''''
Sub Word95JPNCompatibilityMode()
'Word 2013 Japanese Docx形式不可 Doc Ok
If LCase(Right(ActiveDocument.FullName, 3)) <> "doc" Then Exit Sub
Call ClearCompatibility
With ActiveDocument
.Compatibility(wdNoSpaceForUL) = True
.Compatibility(wdAlignTablesRowByRow) = True
.Compatibility(wdAllowSpaceOfSameStyleInTable) = True
.Compatibility(wdLayoutTableRowsApart) = True
.Compatibility(wdGrowAutofit) = True
.Compatibility(wdAutospaceLikeWW7) = True
.Compatibility(wdDontBalanceSingleByteDoubleByteWidth) = True
.Compatibility(wdLeaveBackslashAlone) = True
.Compatibility(wdDontWrapTextWithPunctuation) = True
.Compatibility(wdDontAutofitConstrainedTables) = True
.Compatibility(wdDontBreakConstrainedForcedTables) = True
.Compatibility(wdDontBreakWrappedTables) = True
.Compatibility(wdExpandShiftReturn) = True
.Compatibility(wdDontSnapTextToGridInTableWithObjects) = True
.Compatibility(wdDontUseAsianBreakRulesInGrid) = True
.Compatibility(wdDontUseIndentAsNumberingTabStop) = True
.Compatibility(wdDontUseHTMLParagraphAutoSpacing) = True
.Compatibility(wdHangulWidthLikeWW11) = True
.Compatibility(wdDontVertAlignInTextbox) = True
.Compatibility(wdDontVertAlignCellWithShape) = True
.Compatibility(wdDontULTrailSpace) = True
.Compatibility(wdForgetLastTabAlignment) = True
.Compatibility(wdShapeLayoutLikeWW8) = True
.Compatibility(wdFootnoteLayoutLikeWW8) = True
.Compatibility(wdLayoutRawTableWidth) = True
.Compatibility(wdSelectFieldWithFirstOrLastCharacter) = True
.Compatibility(wdSplitPgBreakAndParaMark) = True
.Compatibility(wdUnderlineTabInNumList) = True
.Compatibility(wdCachedColBalance) = True
.Compatibility(wdUseNormalStyleForList) = True
.Compatibility(wdUsePrinterMetrics) = True
.Compatibility(wdUseWord2002TableStyleRules) = True
.Compatibility(wdFELineBreak11) = True
.Compatibility(wdWW11IndentRules) = True
.Compatibility(wdWord11KerningPairs) = True
.Compatibility(wdAutofitLikeWW11) = True
.Compatibility(wdWW6BorderRules) = True
.Compatibility(wdUseWord97LineBreakingRules) = True
End With
Call WriteOutTrueList("Word95JpnCompatibilityMode")
End Sub
''''''''''''''''''''''''''''''''''''''''''
' ***  MSDOS Compatibility **************'
''''''''''''''''''''''''''''''''''''''''''
Sub TestMSDOSCompatibilityMode()
If LCase(Right(ActiveDocument.FullName, 3)) <> "doc" Then Exit Sub
Call ClearCompatibility
With ActiveDocument
.Compatibility(wdNoSpaceForUL) = True
.Compatibility(wdDontAdjustLineHeightInTable) = True
.Compatibility(wdAlignTablesRowByRow) = True
.Compatibility(wdAllowSpaceOfSameStyleInTable) = True
.Compatibility(wdLayoutTableRowsApart) = True
.Compatibility(wdGrowAutofit) = True
.Compatibility(wdDontBalanceSingleByteDoubleByteWidth) = True
.Compatibility(wdLeaveBackslashAlone) = True
.Compatibility(wdNoTabHangIndent) = True
.Compatibility(wdNoSpaceRaiseLower) = True
.Compatibility(wdDontWrapTextWithPunctuation) = True
.Compatibility(wdDontAutofitConstrainedTables) = True
.Compatibility(wdDontBreakConstrainedForcedTables) = True
.Compatibility(wdDontBreakWrappedTables) = True
.Compatibility(wdExpandShiftReturn) = True
.Compatibility(wdDontSnapTextToGridInTableWithObjects) = True
.Compatibility(wdDontUseAsianBreakRulesInGrid) = True
.Compatibility(wdDontUseIndentAsNumberingTabStop) = True
.Compatibility(wdDontUseHTMLParagraphAutoSpacing) = True
.Compatibility(wdHangulWidthLikeWW11) = True
.Compatibility(wdDontVertAlignInTextbox) = True
.Compatibility(wdDontVertAlignCellWithShape) = True
.Compatibility(wdDontULTrailSpace) = True
.Compatibility(wdForgetLastTabAlignment) = True
.Compatibility(wdShapeLayoutLikeWW8) = True
.Compatibility(wdFootnoteLayoutLikeWW8) = True
.Compatibility(wdLayoutRawTableWidth) = True
.Compatibility(wdSelectFieldWithFirstOrLastCharacter) = True
.Compatibility(wdShowBreaksInFrames) = True
.Compatibility(wdSplitPgBreakAndParaMark) = True
.Compatibility(wdSuppressSpBfAfterPgBrk) = True
.Compatibility(wdUnderlineTabInNumList) = True
.Compatibility(wdCachedColBalance) = True
.Compatibility(wdUseNormalStyleForList) = True
.Compatibility(wdUseWord2002TableStyleRules) = True
.Compatibility(wdFELineBreak11) = True
.Compatibility(wdWW11IndentRules) = True
.Compatibility(wdWord11KerningPairs) = True
.Compatibility(wdAutofitLikeWW11) = True
.Compatibility(wdUseWord97LineBreakingRules) = True
End With
Call WriteOutTrueList("TestMSDOSCompatibilityMode")
End Sub
Private Sub ClearCompatibility()
Const wdSplitPgBreakAndParaMark = 60
Const wdDontVertAlignCellWithShape = 61
Const wdDontBreakConstrainedForcedTables = 62
Const wdDontVertAlignInTextbox = 63
Const wdWord11KerningPairs = 64
Const wdCachedColBalance = 65
Const wdDisableOTKerning = 66
Const wdFlipMirrorIndents = 67
Const wdDontOverrideTableStyleFontSzAndJustification = 68
Const wdUseWord2010TableStyleRules = 69
Const wdDelayableFloatingTable = 70
Const wdAllowHyphenationAtTrackBottom = 71
Const wdUseWord2013TrackBottomHyphenation = 72
Const wdUsePre2018iOSMacLayout = 73

Const EarlierVersionCompatibility = 69
Const Word2010Version15Compatibility = 72 
Const Word2013Version15Compatibility = 75
Const Word2016Version16Compatibility = 81
Options.DisableFeaturesbyDefault = False
Dim i As Long
Dim iVersion As Long
iVersion = Application.Version
On Error Resume Next
Select Case iVersion
Case Is < 15
For i = 1 To Word2010Version15Compatibility
ActiveDocument.Compatibility(i) = False
Next
Case Is = 15
For i = 1 To Word2013Version15Compatibility
ActiveDocument.Compatibility(i) = False
Next
Case Is >= 16
For i = 1 To Word2016Version16Compatibility
ActiveDocument.Compatibility(i) = False
Next
End Select
ActiveDocument.Save

End Sub

Private Sub WriteOutTrueList(ByRef sFileName As String)
'Microsoft Scripting Runtime 参照設定
Dim WSH As New IWshRuntimeLibrary.WshShell
Dim FSO As New Scripting.FileSystemObject
Dim TS As TextStream
Dim oFile As File
Dim i As Long
Dim cnt As Long
Dim sPath As String
sPath = CreateObject("WScript.Shell").SpecialFolders(16) & "\"
Debug.Print sPath
On Error Resume Next
Set TS = FSO.OpenTextFile(sPath & sFileName & ".txt", ForWriting, True)
If Err.Number <> 0 Then Debug.Print Err.Description: Exit Sub
With ActiveDocument
TS.WriteLine .FullName
TS.WriteLine .OpenEncoding
End With
cnt = 1
For i = 1 To 81
If Err.Number = 0 Then
If ActiveDocument.Compatibility(i) <> False Then
TS.WriteLine i & "," & ActiveDocument.Compatibility(i)
cnt = cnt + 1
End If
Else
TS.WriteLine i & "," & Err.Description
Err.Clear
End If
Next
TS.WriteLine "True Parameter Count:" & cnt
TS.Write "CompatibilityMode" & vbTab & ActiveDocument.CompatibilityMode
TS.Close
End Sub

レイアウトで調整した数からSaveAs2000を用いる

互換文書ファイルを作る方法 SaveAs2

現在の文書を保存するとエラーになるため、新規に作成(コード上は追加)して、それを保存する。
Word2013以降で稼働するが、現在のところ、互換性という意味では、Word2010形式には発見されない。
またdoc形式はword2003形式であり、Word 97は作れない。
Wordマクロ備忘録(Word VBA)
ここにある"ActiveDocument.SaveAs2"を"Set wDOc = ThisDocument : wDoc.SaveAs2"
と変えるとエラーだった。
このため、新規にファイルを作ってから保存したほうが安全だ。

'Sub SaveAsWord2013()
'Dim wDoc As Word.Document: Set wDoc = Word.Application.Documents.Add
'Dim sPath As String
'sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2013_" & Format(Now, "yyyymmddhhmmss") & ".docx"
'Debug.Print sPath
'wDoc.SaveAs2 FileName:=sPath, CompatibilityMode:=wdWord2013
'wDoc.Close
'End Sub
Sub SaveAsWord2010()
Dim wDoc As Word.Document: Set wDoc = Word.Application.Documents.Add
Dim sPath As String
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2010_" & Format(Now, "yyyymmddhhmmss") & ".docx"
Debug.Print sPath
wDoc.SaveAs2 FileName:=sPath, CompatibilityMode:=wdWord2010
wDoc.Close
End Sub
Sub SaveAsWord2007()
Dim wDoc As Word.Document: Set wDoc = Word.Application.Documents.Add
Dim sPath As String
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2007_" & Format(Now, "yyyymmddhhmmss") & ".docx"
Debug.Print sPath
wDoc.SaveAs2 FileName:=sPath, CompatibilityMode:=wdWord2007
wDoc.Close
End Sub
Sub SaveAsWord2003()
Dim wDoc As Word.Document: Set wDoc = Word.Application.Documents.Add
Dim sPath As String
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2003_" & Format(Now, "yyyymmddhhmmss") & ".doc"
Debug.Print sPath
wDoc.SaveAs2 FileName:=sPath, CompatibilityMode:=wdWord2003
wDoc.Close
End Sub

VBSで作ると、docxファイルも自動的に保存できる

この項目のVBScriptは隠しモードを使わないバージョン

なので、doc形式はいったん保存してからオプションが適用される。。
場所は
"%USERPROFILE%\Documents"
にしている。OneDriveを使っている場合、Documentsの場所が違うので注意されたい。

Option Explicit
Const msoEncodingJapaneseShiftJIS = 932

Const wdCurrent = 65535
Const wdWord2013 = 15
Const wdWord2010 = 14
Const wdWord2007 = 12
Const wdWord2003 = 11

Dim strFormattedDate
'yyyy/mm/dd hh: mm:ss を yyyymmddhhmmss に変換
'https://bayashita.com/p/entry/show/39
strFormattedDate = Replace(Replace(Replace(Now(), "/", ""), ":", ""), " ", "")
Dim wApp : Set wApp = CreateObject("Word.Application")
Dim wDoc
Dim sPath
wApp.Visible = True
' Word Current
Set wDoc = wApp.Documents.Add
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wdCurrent_" & strFormattedDate & ".docx"
wDoc.SaveAs2 sPath ,,,,,,,,,True,,,,,,, wdCurrent
wDoc.Close : sPath =""
Set wDoc = Nothing

' Word 2013
Set wDoc = wApp.Documents.Add
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2013_" & strFormattedDate & ".docx"
wDoc.SaveAs2 sPath ,,,,,,,,,True,,,,,,, wdWord2013
wDoc.Close : sPath =""
Set wDoc = Nothing

' Word 2010
Set wDoc = wApp.Documents.Add
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2010_" & strFormattedDate & ".docx"
wDoc.SaveAs2 sPath ,,,,,,,,,,,,,,,,wdWord2010
wDoc.Close : sPath =""
Set wDoc = Nothing

' Word 2007
Set wDoc = wApp.Documents.Add
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2007_" & strFormattedDate & ".docx"
wDoc.SaveAs2 sPath ,,,,,,,,,,,,,,,,wdWord2007
wDoc.Close : sPath =""
Set wDoc = Nothing

' Word 2003
Set wDoc = wApp.Documents.Add
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2003_" & strFormattedDate & ".doc"
wDoc.SaveAs2 sPath ,,,,,,,,,,,,,,,, wdWord2003
wDoc.Close : sPath =""
Set wDoc = Nothing

' Word 2003JPN
Set wDoc = wApp.Documents.Add
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2003JPN_" & strFormattedDate & ".doc"
wDoc.SaveAs2 sPath ,,,,,,,,,,,msoEncodingJapaneseShiftJIS,,,,, wdWord2003
wDoc.Close : sPath =""
Set wDoc = Nothing

'Word Application Quit
wApp.Quit

SaveAs2000

開いたWordファイルを保存しようとするとエラー

COMException
手持ちの Word 4 製品のタイプライブラリを調べてみたところ、
バージョンによって、SaveAs のメソッド定義が異なっていました。
(残念ながら、手元に Word2003/2007 はありませんでした…)

Word98 (8.0c):
 "SaveAs" : DispId = &H00000066 で 可視 な 引数11個 の Sub

Word2002 (10.0):
 "SaveAs2000" : DispId = &H00000066 で非表示な 引数11個 の Sub
 "SaveAs" : DispId = &H00000178 で 可視 な 引数16個 の Sub

Word2007 (12.0) x64:
 "SaveAs2000" : DispId = &H00000066 で非表示な 引数11個 の Sub
 "SaveAs" : DispId = &H00000178 で 可視 な 引数16個 の Sub

Word2010版 (14.0) x86:
 "SaveAs2000" : DispId = &H00000066 で非表示な 引数11個 の Sub
 "SaveAs" : DispId = &H00000178 で非表示な 引数16個 の Sub
 "SaveAs2" : DispId = &H00000238 で 可視 な 引数17個 の Sub
SaveAs2000はdock形式で保存する命令である。ただし非表示である。
またOpen2000がある

AddOld と SaveAs2000を使ってWord 97 日本語版に近いテンプレートを作る

doc形式ファイルを作り、レイアウトモードで出力した数
WD97JPN
TrueCount:34 - 3

33,34,35,36,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65
以下のVBSCRIPTで作成したテンプレートから作成したファイル
'33,34,35,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72'
と65番までは完全に一致する。この隠し機能によってWord 97に近い文書形式のテンプレートができる。あとはこれをカスタムテンプレートのフォルダに入れると良い。

MakeWord97template.vbs
Option Explicit
Const msoEncodingJapaneseShiftJIS = 932
Const wdTypeDocument = 0
Const wdCurrent = 65535
Const wdWord2013 = 15
Const wdWord2010 = 14
Const wdWord2007 = 12
Const wdWord2003 = 11
Const wdFormatTemplate97 = 1
Const wdSplitPgBreakAndParaMark = 60
Const wdDontVertAlignCellWithShape = 61
Const wdDontBreakConstrainedForcedTables = 62
Const wdDontVertAlignInTextbox = 63
Const wdWord11KerningPairs = 64
Const wdCachedColBalance = 65
Const wdDisableOTKerning = 66
Const wdFlipMirrorIndents = 67
Const wdDontOverrideTableStyleFontSzAndJustification = 68
Const wdUseWord2010TableStyleRules = 69
Const wdDelayableFloatingTable = 70
Const wdAllowHyphenationAtTrackBottom = 71
Const wdUseWord2013TrackBottomHyphenation = 72
Const wdUsePre2018iOSMacLayout = 73
Dim strFormattedDate
Dim i
'yyyy/mm/dd hh: mm:ss を yyyymmddhhmmss に変換
Dim wApp : Set wApp = CreateObject("Word.Application")
wApp.Visible = True
Dim wDoc, wDocs
Dim sPath
wApp.Visible = True
Dim ar
ar =split("33,34,35,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65",",")
' Word97JPN
Set wDocs = wApp.Documents
Set wDoc = wDocs.AddOld
wDoc.Activate
On Error Resume Next
wApp. Options.DisableFeaturesbyDefault = False
for i = 1 to 73
wDoc.Compatibility(i) = False
Next
wDoc.OptimizeForWord97 = True
With wDoc
.DisableFeatures = True 
.DisableFeaturesIntroducedAfter = wd70
End With
for i= Lbound(ar) to Ubound(ar)
wDoc.Compatibility(ar(i)) = True
next
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd97JPN.dot"
wDoc.SaveAs2000 sPath ,wdFormatTemplate97
wDoc.Close : sPath =""
Set wDoc = Nothing
wApp.Quit
Wscript.Quit

Word 2003

Word 2003はWord97の方法では作成することができない。しかし、2003のレイアウト形式のdotxtがアプリケーションのフォルダに存在していた。ここからWord 2003形式のdocもパラメーターが14番ではないか?と考えてやってみたところ、大正解だった。

True Parameter Count:20
True Enumration Number :51,52,53,54,55,56,57,59,60,61,62,63,64,65,66,67,68,69,71,72,
CompatibilityMode 11

Make_Word2003template.vbs
Option Explicit
Const msoEncodingJapaneseShiftJIS = 932
Const wdTypeDocument = 0
Const wdCurrent = 65535
Const wdWord2013 = 15
Const wdWord2010 = 14
Const wdWord2007 = 12
Const wdWord2003 = 11
Const wdFormatTemplate = 1
Const wdFormatTemplate97 = 1
Const wdSplitPgBreakAndParaMark = 60
Const wdDontVertAlignCellWithShape = 61
Const wdDontBreakConstrainedForcedTables = 62
Const wdDontVertAlignInTextbox = 63
Const wdWord11KerningPairs = 64
Const wdCachedColBalance = 65
Const wdDisableOTKerning = 66
Const wdFlipMirrorIndents = 67
Const wdDontOverrideTableStyleFontSzAndJustification = 68
Const wdUseWord2010TableStyleRules = 69
Const wdDelayableFloatingTable = 70
Const wdAllowHyphenationAtTrackBottom = 71
Const wdUseWord2013TrackBottomHyphenation = 72
Const wdUsePre2018iOSMacLayout = 73
Const wdFormatXMLTemplate = 14
Const wdFormatXMLTemplateMacroEnabled = 15
Const wdDoNotSaveChanges = 0
Const wdRDIDocumentProperties = 8
Dim strFormattedDate
Dim i
'Document.SaveAs2([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter], [Encoding], [InsertLineBreaks], [AllowSubstitutions], [LineEnding], [AddBiDiMarks], [CompatibilityMode])
'Document.SaveAs2000([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter])
'Document.SaveAs([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter], [Encoding], [InsertLineBreaks], [AllowSubstitutions], [LineEnding], [AddBiDiMarks]
'yyyy/mm/dd hh: mm:ss を yyyymmddhhmmss に変換
'https://bayashita.com/p/entry/show/39
strFormattedDate = Replace(Replace(Replace(Now(), "/", ""), ":", ""), " ", "")
Dim wApp : Set wApp = CreateObject("Word.Application")
Dim wDoc, wDocs
Dim sPath, sPathtemplate
Dim ar
wApp.Visible = True
ar =split("51,52,53,54,55,56,57,59,60,61,62,63,64,65",",")

' Word2003
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2003_" & strFormattedDate & ".doc"
Set wDocs = wApp.Documents
Set wDoc = wDocs.Add
wDoc.SaveAs2 sPath ,, ,, ,, ,,,,, ,,,,,wdWord2003
wDoc.Activate
On Error Resume Next
for i = 1 to 73
wDoc.Compatibility(i) = False
Next
wDoc.Save
for i= Lbound(ar) to Ubound(ar)
wDoc.Compatibility(ar(i)) = True
next
wDoc.Save
On error Goto 0
sPathtemplate = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2003template.dot"
wDoc.RemoveDocumentInformation (wdRDIDocumentProperties)
wDoc.SaveAs2 sPathtemplate , wdFormatXMLTemplate,,,,,,,,,,,,,,,wdWord2003
wDoc.Close wdDoNotSaveChanges
Set wDoc = Nothing
With CreateObject("Scripting.FileSystemObject")
.DeleteFile sPath
End With
sPath =""
wApp.Quit
If Not wApp Is Nothing Then Set wApp = Nothing
Wscript.Quit

Word 2007 template

教えて!HELPDESKのテンプレートと同じ定数がTrueのテンプレートを作る。Word 2007は一度保存して互換モードにして、保存し、それからテンプレートとして保存する。
できればOfficeのカスタムテンプレートフォルダが良い。
”%USERPROFILE%\Documents\Office のカスタム テンプレート”
である。しかしこの名前もうちょっとなんとかならなかったのか。
それはさておきdocx系のテンプレートはwdTemplate = 1 ではない。
マクロなしのテンプレートが14、マクロ付きが15番である。少なくとも2007と2010はそうだ。
vb:Make_Word2007MacroEnableTemplate.vbs”
Option Explicit
Const msoEncodingJapaneseShiftJIS = 932
Const wdTypeDocument = 0
Const wdCurrent = 65535
Const wdWord2013 = 15
Const wdWord2010 = 14
Const wdWord2007 = 12
Const wdWord2003 = 11
Const wdFormatTemplate = 1
Const wdFormatTemplate97 = 1
Const wdSplitPgBreakAndParaMark = 60
Const wdDontVertAlignCellWithShape = 61
Const wdDontBreakConstrainedForcedTables = 62
Const wdDontVertAlignInTextbox = 63
Const wdWord11KerningPairs = 64
Const wdCachedColBalance = 65
Const wdDisableOTKerning = 66
Const wdFlipMirrorIndents = 67
Const wdDontOverrideTableStyleFontSzAndJustification = 68
Const wdUseWord2010TableStyleRules = 69
Const wdDelayableFloatingTable = 70
Const wdAllowHyphenationAtTrackBottom = 71
Const wdUseWord2013TrackBottomHyphenation = 72
Const wdUsePre2018iOSMacLayout = 73
Const wdFormatXMLTemplate = 14
Const wdFormatXMLTemplateMacroEnabled = 15
Const wdDoNotSaveChanges = 0
Const wdRDIDocumentProperties = 8
Dim strFormattedDate
Dim i
'Document.SaveAs2([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter], [Encoding], [InsertLineBreaks], [AllowSubstitutions], [LineEnding], [AddBiDiMarks], [CompatibilityMode])
'Document.SaveAs2000([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter])
'Document.SaveAs([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter], [Encoding], [InsertLineBreaks], [AllowSubstitutions], [LineEnding], [AddBiDiMarks]
'yyyy/mm/dd hh: mm:ss を yyyymmddhhmmss に変換
'https://bayashita.com/p/entry/show/39
strFormattedDate = Replace(Replace(Replace(Now(), "/", ""), ":", ""), " ", "")
Dim wApp : Set wApp = CreateObject("Word.Application")
Dim wDoc, wDocs
Dim sPath, sPathtemplate
Dim ar
wApp.Visible = True
ar =split("66,67,68,69",",")
'yyyy/mm/dd hh: mm:ss を yyyymmddhhmmss に変換
'https://bayashita.com/p/entry/show/39
strFormattedDate = Replace(Replace(Replace(Now(), "/", ""), ":", ""), " ", "")
' Word2007
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2007_" & strFormattedDate & ".docx"
Set wDocs = wApp.Documents
Set wDoc = wDocs.Add
wDoc.SaveAs2 sPath ,, ,, ,, ,,,,, ,,,,,wdWord2007
wDoc.Activate
On Error Resume Next
for i = 1 to 73
wDoc.Compatibility(i) = False
Next
wDoc.Save
for i= Lbound(ar) to Ubound(ar)
wDoc.Compatibility(ar(i)) = True
next
wDoc.Save
On error Goto 0
sPathtemplate = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2007template.dotm"
wDoc.RemoveDocumentInformation (wdRDIDocumentProperties)
wDoc.SaveAs2 sPathtemplate , wdFormatXMLTemplateMacroEnabled,,,,,,,,,,,,,,,wdWord2007
wDoc.Close wdDoNotSaveChanges
Set wDoc = Nothing
With CreateObject("Scripting.FileSystemObject")
.DeleteFile sPath
End With
sPath =""
wApp.Quit
If Not wApp Is Nothing Then Set wApp = Nothing
Wscript.Quit
`

Word 2010 template

Option Explicit
Const msoEncodingJapaneseShiftJIS = 932
Const wdTypeDocument = 0
Const wdCurrent = 65535
Const wdWord2013 = 15
Const wdWord2010 = 14
Const wdWord2007 = 12
Const wdWord2003 = 11
Const wdFormatTemplate = 1
Const wdFormatTemplate97 = 1
Const wdSplitPgBreakAndParaMark = 60
Const wdDontVertAlignCellWithShape = 61
Const wdDontBreakConstrainedForcedTables = 62
Const wdDontVertAlignInTextbox = 63
Const wdWord11KerningPairs = 64
Const wdCachedColBalance = 65
Const wdDisableOTKerning = 66
Const wdFlipMirrorIndents = 67
Const wdDontOverrideTableStyleFontSzAndJustification = 68
Const wdUseWord2010TableStyleRules = 69
Const wdDelayableFloatingTable = 70
Const wdAllowHyphenationAtTrackBottom = 71
Const wdUseWord2013TrackBottomHyphenation = 72
Const wdUsePre2018iOSMacLayout = 73
Const wdFormatXMLTemplate = 14
Const wdFormatXMLTemplateMacroEnabled = 15
Const wdDoNotSaveChanges = 0
Const wdRDIDocumentProperties = 8
Dim strFormattedDate
Dim i
'Document.SaveAs2([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter], [Encoding], [InsertLineBreaks], [AllowSubstitutions], [LineEnding], [AddBiDiMarks], [CompatibilityMode])
'Document.SaveAs2000([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter])
'Document.SaveAs([FileName], [FileFormat], [LockComments], [Password], [AddToRecentFiles], [WritePassword], [ReadOnlyRecommended], [EmbedTrueTypeFonts], [SaveNativePictureFormat], [SaveFormsData], [SaveAsAOCELetter], [Encoding], [InsertLineBreaks], [AllowSubstitutions], [LineEnding], [AddBiDiMarks]
'yyyy/mm/dd hh: mm:ss を yyyymmddhhmmss に変換
'https://bayashita.com/p/entry/show/39
strFormattedDate = Replace(Replace(Replace(Now(), "/", ""), ":", ""), " ", "")
Dim wApp : Set wApp = CreateObject("Word.Application")
Dim wDoc, wDocs
Dim sPath, sPathtemplate
Dim ar
wApp.Visible = True
ar =split("69,71,72,73",",")

' Word2010
sPath = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2010_" & strFormattedDate & ".docx"
Set wDocs = wApp.Documents
Set wDoc = wDocs.Add
wDoc.SaveAs2 sPath ,, ,, ,, ,,,,, ,,,,,wdWord2010
wDoc.Activate
On Error Resume Next
for i = 1 to 73
wDoc.Compatibility(i) = False
Next
wDoc.Save
for i= Lbound(ar) to Ubound(ar)
wDoc.Compatibility(ar(i)) = True
next
wDoc.Save
On error Goto 0
sPathtemplate = CreateObject("WScript.Shell").Specialfolders(16) & "\" & "wd2010template.dotx"
wDoc.RemoveDocumentInformation (wdRDIDocumentProperties)
wDoc.SaveAs2 sPathtemplate , wdFormatXMLTemplate,,,,,,,,,,,,,,,wdWord2010
wDoc.Close wdDoNotSaveChanges
Set wDoc = Nothing
With CreateObject("Scripting.FileSystemObject")
.DeleteFile sPath
End With
sPath =""
wApp.Quit
If Not wApp Is Nothing Then Set wApp = Nothing
Wscript.Quit

互換文書ファイルを作る方法その3:既存のテンプレートを活用する(Word 2016日本語版)

Word 95

"%Programfiles%\Microsoft Office\root\Templates\1041\THESIS1.DOT"

というのが存在する。このテンプレートから新規作成された文書を見ると、
True Parameter Count:38
True Enumration Number :27,33,34,35,36,37,39,40,41,42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,
CompatibilityMode 11
この65番までの配列は26と38を覗いてWord 95に近い。66以降はやむを得ずくっついてくるし、26はたいして関係がない。38はWW7を特徴づけるところだが、これを無視するとWord95に近い。(遺伝子の同定みたいだ)

Word 2003(ただしdotx)

Word2003っぽいdotx形式
Office Word 2003 Look.dotx
True Parameter Count:18
True Enumration Number :51,52,53,54,55,56,57,59,60,61,62,63,64,65,66,67,68,69,
CompatibilityMode 11
このテンプレートの発見が、Word 2003形式のdotの作成のヒントになった。つまりWord 2003のdocファイル形式はほぼ2007に近く、保存する場合のパラメーターが違うのである。

Word 2010はインチキ

Word 2010 look.dotx
True Parameter Count:0
True Enumration Number :
CompatibilityMode 15
全くWord2010ではない。

互換文書ファイルを作成する方法その4 SetCompatibilityMode*Word 2010 Later(

短所

このモードは単なる機能制限であり、レイアウトモードで決めた互換モードと一致しない。7
ただし、SetCompatiblityModeはdocxの段階から強制的にWord2003にできるので、重要

Word 2013 – Word 2007

以下のマクロを実行するとよい。

Word 2013-2003

SetCompatiblityModeは2007と2003が最適

これ以外のバージョンはレイアウトが変わらないので、レイアウトモードの数字が食い違う。
つまりファイル構造より、機能を制限するという意味合いが強い。
しかし、それでもファイルの構造が2003と20007で違う。
このため2003と2007は設定するとだいたいレイアウトモードと一致する。
2013以上は現時点では全部Falseにすればよい。

SetCompatility Word 2010
Sub ActiveDocumentSetCompatilityWord2010()
' 注意!必ず新規作成の状態で、Wordは1つだけしか文書を開いていない状態で、
' ALT+F11 ALT I M で標準モジュールを挿入し、
' 上記のSub ActiveDocumentSetCompatility2010()からEnd Subまでをコピペして、F5キーで実行してください。
Dim i As Long
On Error Resume Next
ThisDocument.Activate
With ActiveDocument
.DisableFeatures = False
.SetCompatibilityMode (wdWord2013)
For i = 1 To 73
ActiveDocument.Compatibility(i) = False
Next
' 以下のオプションを起動しないとレイアウトがWord2010に近似にならない
.SetCompatibilityMode (wdWord2010)
.Compatibility(69) = True
.Compatibility(71) = True
.Compatibility(72) = True
.Compatibility(73) = True
End With
End Sub
SetCompatility Word 2007

 Word2007Vesionは、このSetCompatibilityが非常に有効である。
機能が制限されるだけでなく、互換性のオプションも69までは2007に正しく一致する

True Parameter Count:4
True Enumration Number :66,67,68,69
CompatibilityMode 12

Sub ActiveDocumentSetwdWord2007()
' Word 2010 Later
Dim i As Long
ThisDocument.Activate
With ActiveDocument
.DisableFeatures = False
If Application.Version >= 16 Then
.SetCompatibilityMode (wdWord2010)
ElseIf Application.Version = 14 Then
.SetCompatibilityMode (wdWord2010)
Else
Exit Sub
End If
On Error Resume Next
For i = 1 To 73
.Compatibility(i) = False
Next
.SetCompatibilityMode (wdWord2007)
End With
End Sub
SetCompatility Word 2003
Sub ActiveDocumentSetwdWord2003()
' Word 2010 Later
Dim i As Long
ThisDocument.Activate
With ActiveDocument
.DisableFeatures = False
If Application.Version >= 16 Then
.SetCompatibilityMode (wdWord2013)
ElseIf Application.Version = 14 Then
.SetCompatibilityMode (wdWord2010)
Else
Exit Sub
End If
On Error Resume Next
For i = 1 To 73
.Compatibility(i) = False
Next
.SetCompatibilityMode (wdWord2007)
End With
End Sub

Word 98

各バージョンごと

その前にFont

利用可能なすべての言語のFODの一覧 xlsx Download
Windows10にアップグレードした後、不足しているフォントをインストールする方法
Windows 7、Windows 8、または Windows 8.1 オペレーティング システムから Windows 10 にアップグレードする場合、特定のフォントはアップグレードの後に既定で使用できません。 オペレーティング システムのフットプリントを減らし、パフォーマンスの向上、ディスク領域の使用量を最適化するために、以前のバージョンの Windows に同梱されていたフォントの多くを、Windows 10 ではオプション機能に移行しました。 Windows 10 の新しいインスタンスをインストールする場合も、以前のバージョンの Windows を Windows 10 にアップグレードする場合も、これらのオプション機能は既定では無効になっています。 その結果、システムでこれらのフォントが不足しているように見えます。

不足しているフォントを使用して作成されたドキュメントがある場合、Windows 10 ではこれらのドキュメントは異なる方法で表示されます。
たとえば、ある場合は、英語 (フランス語、ドイツ語、スペイン語) のバージョンの Windows 10 をインストールしている場合、次のようなフォントは不足しているように見えます。
Meirio等
これらのフォントを使用する場合、オプション機能を有効にして、システムにこれらのフォントを追加できます。 これは Windows 10 の動作で永続的な変更であり、今後のリリースでもこの状態のままであることに注意してください。

マクロを Word で使用できるフォントのリストを生成するには

Microsoft Typography documentation
OpenType overview
英語の解説

国際フォント

Docs /Windows /UWP / 設計と UI / ユーザビリティ / グローバリゼーションとローカライズ
これはOfficeではなくUWPの設計だが、ここで日本語はMS明朝を押している。つまりこれを使うのがこれからも互換性を確保できる可能性が高い。

ファイルを開くときと保存するときに文字列のエンコード方法を選択する

Word for Office 365 Word 2019 Word 2016 Word 2013 Word 2010 Word 2007 Word Starter 2010
通常は、基になるテキスト格納方法の詳細を気にしなくても、テキスト ファイルを共有できます。 ただし、他の言語を使うユーザーとテキスト ファイルを共有する場合、インターネット経由でテキスト ファイルをダウンロードする場合、または他のコンピューター システムとテキスト ファイルを共有する場合は、ファイルを開いたり保存したりするときに、エンコード方法を選択することが必要になる場合があります。

ファイルの作成に使われたものとは異なる言語のシステム ソフトウェアのコンピューターで、Microsoft Word または別のプログラムを使ってテキスト ファイルを開くとき、プログラムはエンコード標準によりテキストを読めるように表現する方法を決定できます。
(中略)

異なるアルファベットの異なるエンコード標準

テキスト ファイルと共に保存されるエンコード標準は、お使いのコンピューターが画面にテキストを表示するために必要な情報を提供します。 たとえば、キリル言語 (Windows) のエンコードでは、文字 Й には 201 という値が割り当てられています。 キリル言語 (Windows) エンコードを使っているコンピューターでこの文字を含むファイルを開くと、コンピューターは数値 201 を読み取って、画面に Й と表示します。

ただし、同じファイルを別のエンコードが使用されているコンピュータで開くと、そのコンピュータの既定のエンコード方法で数値 201 に対応する文字が表示されます。 たとえば、コンピュータで西ヨーロッパ言語 (Windows) エンコード方法を使用している場合、西ヨーロッパ言語 (Windows) エンコードでは数値 201 に対応する文字は É であるため、キリル言語で作成したファイルの文字は Й ではなく、É と表示されます。

Unicode:多くのアルファベットに対応する 1 つのエンコード標準

テキスト ファイルのエンコードとデコードに関する問題を回避するには、Unicode エンコードでファイルを保存することができます。 Unicode は、今日のコンピューター ユーザーによってよく使われているすべての言語のほとんどの文字セットに対応しています。

Word は Unicode に基づいているため、自動的に Unicode でエンコードしてファイルを保存します。 Unicode 形式でエンコードされたファイルであれば、テキストの言語に関係なく、英語のコンピューター システムで開いて読むことができます。 同様に、英語システムを使って Unicode としてエンコードされたファイルを保存すると、ギリシャ語、キリル語、アラビア語、日本語など、西ヨーロッパ言語のアルファベットにない文字をファイルに含めることができます。

ファイルを開くときにエンコード標準を選ぶ

ファイルを開くと、テキストが文字化けしたり、疑問符や四角形で表示される場合は、Word がファイルのテキストのエンコード標準を正しく検出していない可能性があります。 テキストの表示 (デコード) に使うことができるエンコード標準を指定できます。


  1. [ファイル] タブをクリックします。
  2. [オプション] をクリックします。
  3. [詳細設定] をクリックします。
  4. [全般] セクションまでスクロールし、[文書を開くときにファイル形式の変換を確認する] チェック ボックスをオンにします。

    注: このチェック ボックスをオンにすると、Word 形式以外の形式のファイルを開くたびに (Word 形式は、.doc、.dot、.docx、.docm、.dotx、.dotm ファイル)、[ファイルの変換] ダイアログ ボックスが表示されます。 このようなファイルを頻繁に使うけれども、エンコード標準を選ぶことはほとんどない場合は、忘れずにこのオプションをオフにして、不要なのにこのダイアログ ボックスが開くことがないようにしてください。

  5. ファイルをいったん閉じてから再度開きます。
  6. [ファイルの変換] ダイアログ ボックスで、[エンコードされたテキスト] を選択します。
  7. [ファイルの変換] ダイアログ ボックスで [その他] を選択し、一覧から目的のエンコード標準を選択します。
  8. [プレビュー] 領域でテキストをプレビューし、選択したエンコード標準ですべてのテキストを読むことができるかどうかを確認します。

ほとんどすべてのテキストが同じように表示される場合は (たとえば、すべて四角形や点)、文字の表示に必要なフォントがインストールされていない可能性があります。 必要なフォントが利用できない場合は、追加のフォントをインストールできます。

フォントを追加インストールするには、次のようにします。

Microsoft Windows で、[スタート] ボタンをクリックし、[コントロール パネル] をクリックします。

次のいずれかの操作を行います。

Windows 7 の場合

コントロール パネルで、[プログラムのアンインストール] をクリックします。

プログラムの一覧で、Microsoft Office の一覧または Microsoft Word の一覧をクリックして (Word が Office の一部としてインストールされているか、単体プログラムとしてインストールされているかにより異なります)、[変更] をクリックします。

Windows Vista の場合
  1. コントロール パネルで、[プログラムのアンインストール] をクリックします。
  2. プログラムの一覧で、Microsoft Office の一覧または Microsoft Word の一覧をクリックして (Word が Office の一部としてインストールされているか、単体プログラムとしてインストールされているかにより異なります)、[変更] をクリックします。
Microsoft Windows XP の場合
  1. コントロール パネルで、[プログラムの追加と削除] をクリックします。
  2. [現在インストールされているプログラム] ボックスの一覧で、Microsoft Office の一覧または Microsoft Word の一覧をクリックして (Word が Office の一部としてインストールされているか、単体プログラムとしてインストールされているかにより異なります)、[変更] をクリックします。
  3. [Microsoft Office のインストール オプションを変更します] 画面で、[機能の追加/削除] をクリックし、[続行] をクリックします。
  4. [インストール オプション] で、[Office 共有機能] を展開して、[インターナショナル サポートを] を展開します。
  5. 必要なフォント セットを選び、選択の横にある矢印をクリックして、[マイ コンピューターから実行] を選択します。

ヒント: エンコードされたテキストファイルを開くと、[ Web オプション] ダイアログボックスで定義されているフォントが適用されます。 ([ Web オプション] ダイアログボックスにアクセスするには、 Microsoft Office ボタンをクリックし、[ Word のオプション] をクリックし、[詳細設定] をクリックします。 [全般] セクションで、[ Web オプション] をクリックします。 [ Web オプション] ダイアログボックスの [フォント] タブでオプションを選択して、各文字セットのフォントをカスタマイズすることができます。

ファイルを保存するときにエンコード標準を選ぶ

ファイルを保存するときにエンコード標準を選択しないと、ファイルは Unicode としてエンコードされます。 この既定のエンコード方法は、ほとんどの言語の文字をサポートしているので、通常はこの方法を使用します。

Unicode をサポートしていないプログラムで文書が開かれる場合は、ターゲット プログラムのものと一致するエンコード標準を選択することができます。 たとえば、Unicode を使用すると、英語システムで繁体字中国語の文書を作成できます。 ただし、Unicode をサポートしていない繁体字中国語プログラムで文書が開かれる場合は、繁体字中国語 (Big5) エンコードで文書を保存することができます。 文書が繁体字中国語プログラムで開かれると、すべてのテキストが正しく表示されます。

注: Unicode は最も包括的な標準であるため、他のエンコードでテキストを保存すると、一部の文字を表示できなくなる可能性があります。 たとえば、Unicode でエンコードされた文書は、ヘブライ語やキリル語のテキストを含むことができます。 この文書をキリル言語 (Windows) エンコードで保存すると、ヘブライ語のテキストは表示できなくなり、ヘブライ語 (Windows) エンコードで保存すると、キリル文字のテキストは表示できなくなります。

ファイルで使われている文字をサポートしていないエンコード標準を選択した場合、保存できない文字が赤でマークされます。 ファイルを保存する前に、選択したエンコード標準でテキストをプレビューできます。

エンコードされたテキストとしてファイルを保存すると、Symbol フォントまたはフィールド コードで書式設定されたテキストは、ファイルから削除されます。

エンコード標準を選ぶ
  1. [ファイル] タブをクリックします。
  2. [名前を付けて保存] をクリックします。
  3. 別のフォルダーにファイルを保存する場合は、フォルダーを探して開きます。
  4. [ファイル名] ボックスに、ファイルの新しい名前を入力します。
  5. [ファイルの種類] ボックスで、[書式なし] を選択します。
  6. [保存] をクリックします。
  7. [Microsoft Office 互換性チェック] ダイアログ ボックスが表示された場合は、[続行] をクリックします。
  8. [ファイルの変換] ダイアログ ボックスで、使用するエンコード標準のオプションを選びます。
  9. システムの既定のエンコード標準を使用するには、[Windows (既定値)] をクリックします。
  10. MS-DOS エンコード標準を使用するには、[MS-DOS] をクリックします。
  11. 特定のエンコード標準を使用するには、[その他] をクリックし、一覧から目的のエンコード標準を使用します。 [プレビュー] 領域でテキストをプレビューし、使用するエンコード標準ですべてのテキストを読むことができるかどうかを確認します。
注: 多くの文書をプレビューできるように、[ファイルの変換] ダイアログ ボックスのサイズを変更できます。

"赤で示されたテキストは指定されたエンコードでは正しく保存されません" というメッセージが表示される場合は、別のエンコードを使用するか、[文字の置換を認める] チェック ボックスをオンにします。

文字の置換を認めると、Word は表示できない文字を、使用されているエンコードに最も近い同等の文字に置き換えます。 たとえば、省略記号は 3 つの点に置き換わり、左右の区別がある引用符は単純な引用符に置き換わります。

選ばれているエンコードに赤で示された文字に対応する文字がない場合は、赤で示された文字は疑問符などのコンテキスト外文字として保存されます。

行の折り返しを行わないプログラムで文書が開かれる場合は、強制改行を文書に含めることができます。それには、[改行の挿入] チェック ボックスをオンにし、[行末] ボックスで、改行をキャリッジ リターン (CR) だけ、ライン フィード (LF) だけ、またはその両方のいずれで行うかを指定します。

`##Word で利用可能なエンコード標準を調べる

Word は複数のエンコード標準を認識し、お使いのコンピューターのシステム ソフトウェアで提供されているエンコード標準をサポートします。

次の書記体系のリストでは、各書記体系に関連付けられているエンコード標準 (コード ページとも呼ばれます) を示します。

書記体系 エンコード標準 適用されるフォント
多言語 Unicode (UCS-2 リトル エンディアンとビッグ エンディアン、UTF-8、UTF-7) お使いの Word の言語バージョンの標準スタイルに基づく既定のフォント
アラビア語 Windows 1256、ASMO 708 Courier New
簡体字??中国語 GB2312、GBK、EUC-CN、ISO-2022-CN、HZ SimSun
繁体字??中国語 BIG5、EUC-TW、ISO-2022-TW MingLiU
キリル語 Windows 1251、KOI8-R、KOI8-RU、ISO8859-5、DOS 866 Courier New
英語、西ヨーロッパ言語、またはその他のラテン文字 Windows 1250、1252-1254、1257、ISO8859-x Courier New
ギリシャ語 Windows 1253 Courier New
ヘブライ語 Windows 1255 Courier New
日本語 Shift-JIS、ISO-2022-JP (JIS)、EUC-JP MS 明朝
韓国語 Wansung、Johab、ISO-2022-KR、EUC-KR Malgun Gothic
タイ語 Windows 874 Tahoma
ベトナム語 Windows 1258 Courier New
インド系言語: タミール語 ISCII 57004 Latha
インド系言語: ネパール語 ISCII 57002 (デーバナーガリー文字) Mangal
インド系言語: コーンクニー語 ISCII 57002 (デーバナーガリー文字) Mangal
インド系言語: ヒンディー語 ISCII 57002 (デーバナーガリー文字) Mangal
インド系言語: アッサム語 ISCII 57006
インド系言語: ベンガル語 ISCII 57003
インド系言語: グジャラート語 ISCII 57010
インド系言語: カンナダ語 ISCII 57008
インド系言語: マラヤーラム語 ISCII 57009
インド系言語: オリヤー語 ISCII 57007
インド系言語: マラーティー語 ISCII 57002 (デバナガリ)
インド系言語: パンジャブ語 ISCII 57011
インド系言語: サンスクリット語 ISCII 57002 (デーバナーガリー文字)
インド系言語: テルグ語 ISCII 57005
  • インド系言語を使うには、システムのサポートと適切な OpenType フォントが必要です。
  • ネパール語、アッサム語、ベンガル語、グジャラート語、マラヤーラム語、およびオリヤー語については、制限されたサポートしか利用できません。

数式エディター 3.0 の機能削除について

これは互換モード云々の話ではないため、要注意。絶対に広報互換が確保できない原因の一つがこの数式エディターの削除である。
この数式エディターは1999年に導入されて以来ずっと使われていた。このためOffice97から存在する可能性がある。
現象
2018 年 1 月度にリリースされた、クイック実行形式の Office を対象のビルドに更新したり、Office 対象のセキュリティ更新プログラムとしてリリースされた Windows インストーラー版 Office 2007、Office 2010、Office 2013、Office 2016 向けの更新プログラムを適用すると、数式エディター 3.0 の機能が削除されます。
詳細
数式エディター 3.0 は、サードパーティによって作成された機能で、多くのバージョンの Office に含まれていましたが、セキュリティの脆弱性の問題が確認されたため、安全性への影響を考慮して 2018年 1 月度のセキュリティ更新プログラムの適用後は削除されます。更新プログラムをアンインストールしても、数式エディター 3.0 は再追加されません。
数式ツールは継続して使用することができます。
数式エディター 3.0 の機能が削除された後に、数式エディター 3.0 で新たに数式を作成したり、Office ファイル内に含まれる数式エディター 3.0 オブジェクトを編集することはできません。
数式エディター 3.0 オブジェクトを含むファイルを開いて、追加されている数式を表示することはできますが、編集しようとするとエラーが表示されます。
以下は、Excel または Word で表示されるメッセージです。アプリケーションやバージョンによって異なるメッセージもあります。
解決策はMathtypeを買うことしかない。ただし30日間は無償で使用ができる。

Microsoft BarCode Controlは日本語版Accessのみ

“Microsoft Barcode Control” について
2017/07/05
読了までの所要時間: 2 分
こんにちは、Office サポート チームです。
本記事では、“Microsoft Barcode Control” についてご案内します。
“Microsoft Barcode Control” は、日本語版 Access に付属している ActiveX コントロールです。
この ActiveX コントロールは、Access のレポートやフォーム上でバーコードを表示させるために利用します。
Microsoft Barcode Control には次の制限があります。
1. 日本語版 Access で利用可能なコントロール
Microsoft Barcode Control は、日本語版 Access に付属しているコントロールです。
日本語版 Access でご利用ください。
※ Microsoft Barcode Control は、英語版等、日本語版以外の Access では利用できません。
2. Access で動作保証しているコントロール
Microsoft Barcode Control は、日本語版 Access で使用するために開発された ActiveX コントロールです。
このため、Access 上での使用において動作保証しております。
例えば、Excel で Microsoft Barcode Control を使用した際、次のような事象が確認されております。
Excel 2013 で印刷したバーコードを読み取れない
https://support.microsoft.com/ja-jp/help/2870500
***補足 : 弊社では、Excel 上での利用を動作保証したバーコードはリリースしておりません。
このように、Microsoft Barcode Control を Access 以外のアプリケーションで使用した時の動作は保証されておらず、想定外の動作となる場合があります。
Microsoft Barcode Control は Access 上でご利用くださいますようお願いいたします。
関連情報
Access でバーコードを使用する操作は以下のリンクからご参照ください。
Access でバーコードを使用する
Word には差し込み印刷機能で利用可能なバーコードがあります。
Word のバーコードは、Microsoft Barcode Control ではなく、Word 独自の機能です。
詳細は以下のリンクをご参照ください。
バーコードをラベルに追加する
Word for Office 365 Word 2019 Word 2016 Word 2013
Word には、組み込みのバーコードツールがなくなりました。 ただし、2つのフィールドコード、 Displaybarcodeコード、およびmergebarcode コードを使ってバーコードを生成できます。
これらのフィールドコードは、UPC、コード39、コード128などの10種類のバーコードをサポートしています。 Postnet コードのケース/ITC14 はありますが、一般的なメールルーティングに使用されている従来の Postnet 形式とは異なる種類の追跡バーです。
ZIP と ZIP + 4 がサポートされていた以前のPostnet バーコードは、少なくとも 2013 1 月の割引で廃止されました。 インテリジェントメールバーコードに置き換えられました。 郵便バーコードを作成する必要がある場合は、米国の郵便会社でサポートされている多くのリソースを提供しています。 また、郵便バーコード用のアドオンとツールのサードパーティサプライヤーもあります。
Excel 2013 で印刷したバーコードを読み取れない
回避策


  1. ExcelをAccessに読み込んでレポート形式で出力する。ここでバーコードを使う。
    無茶苦茶である。
  2. もう一つがバーコードを大きくする。

関連情報
以下は古いバージョンの資料となりますが、バーコード コントロールは、Access で利用することを想定したものであることを説明しています。

Microsoft バーコード コントロール 9.0 リファレンス
http://www.microsoft.com/ja-jp/download/details.aspx?id=8913

筋が通らない

バーコードのリファレンスはchmファイルなので通常は開けない。なので、開いた内容を見ると、

Microsoft バーコード ActiveX コントロール
バーコードのスタイル プロパティ メソッド
Microsoft バーコード コントロールは、Microsoft Office Access のフォームやレポートに挿入できるバーコード シンボルを表示する ActiveX コントロールです。
ファイル名
msbcode9.ocx
解説
バーコード コントロールでは、一般に普及しているさまざまなバーコード シンボルの外観を制御するために使うプロパティがサポートされています。また、適切なデータを設定したり、バージョン情報を表示したり、バーコード シンボルを再描画するために使うメソッドもサポートされています。データ バインディング機能を持つ Access その他のアプリケーションでは、データ ソースが自動的に連結され、それに対応するバーコード シンボルが作成されます。バーコード コントロールは、OLE サーバー アプリケーションと異なり、ピクチャだけを保存することはできません。

[編注]これは専用だとは書いていないうえ、Access以外の使用方法も想定されている。
このように歴史を編纂していくと、明らかに2013になってからマイクロソフトの態度が非常に悪い。昔なら修正パッチを当てたはずだ。97のときなど修正の嵐だった記録をあとに残しているが、それこそ月に何件も修正していた。
ActiveXのウリはOfficeの中ですべて使えるということなので、百歩譲って日本語版だけだとしても、Accessでしか使えませんというのはあり得ない。特にExcelをガン無視するというのはあり得ない。
簡単!ExcelでQRコード作成(Microsoft BarCode Control16.0)魚拓このように使うのがふつうである。Microsoft ExcelでNW-7・CODE39・CODE128のバーコード作成方法これはブログの注意を見ながら2番目にBarcodeControlを使っている。

EPS 画像のサポートが Office で無効になっている

Excel for Office 365 Word for Office 365 PowerPoint for Office 365 その他...
EPS ファイル、 Office 2019、 Office 2016、 Office 2013、 Office 2010、および Office 365 でのセキュリティの脆弱性により、EPS ファイルを Office ドキュメントに挿入する機能が無効になっています。 この変更は、2017 年 4 月 11 日のセキュリティ更新プログラムの時点で有効です。
セキュリティ更新プログラムの技術的な詳細については、このセキュリティ情報を参照してください。
すべての Windows ベースのバージョンの Office が影響を受けます。 (この変更は、2015以降 Office 2007 で既に行われています)。
Office for Mac 2011 および Office 2016 for Mac はこの変更によって影響を受けません。

EPS ファイルの代わりに使用する

EMF と SVG は、他のグラフィックスメタファイル形式であり、EPS ファイル形式と置き換えることができます。

ファイルの種類 このバージョンの Office でサポートされています

EMF Office 2007、2010、2013、2016、 Office 365
SVG Office 365

画像自体の取り扱いの変更

Wordによる図(線画,写真,表,数式)のレイアウト方法

Wordの文中に張り付ける方法(OLE張り込み)は最も手軽で広く利用されている.一見便利に見えるOLE張り込みだが,印刷時のトラブルへつながることが多く,図を作成したソフトがインストールされていない別のコンピュータでは図を見ることができない等の問題もある.どうしても「コピー&貼り付け」を利用したい場合は,[編集]→[形式を選択して挿入]メニューを選び(最初は隠れている),[図],[拡張メタファイル]又は[ビットマップ(DIB)]の形式を選択して挿入する(図1).これらの形式を選択して挿入すると,図はアプリケーションソフト独自のフォーマットから一般的な形式に変換されてWordに保存されるので,上記の問題はいくらか解消される.各方式はそれぞれ,[図]はWMF形式で,[拡張メタファイル]はEMF形式で,又[ビットマップ(DIB)]はビットマップ形式に変換されてWordに保存される.
 図の挿入方法として推奨する方法は,グラフィックソフトで作成した図をEPSやWMFといった標準的なファイル形式で保存し,Word文書中にこれらのファイルを読み込む方法である.

形式を選択して貼り付け

上のサイトと比較するとビットマップ EMF GIF PNGJPEG あとExcelとOfficeグラフィックと増えている
Word 2000/2002 におけるちょっとしたテクニック
図が圧縮されるのはWord 2002 (Word XP)から。このWord XPと Windows XPの組み合わせによってデフォルトでJpegが扱えるようになった。
(ワード)基本講座:図や写真の挿入と操作方法
Microsoft Office で画像のファイルサイズを縮小する
クリップボード
(中略)
「貼り付け」メニューだけがあるアプリケーションは、
クリップボード内を検索し、より優先順位が高い形式のデータを
貼り付けるようだ。
例えば、ペイント2007は「画像(BITMAP, DIB)」→
「図形(拡張メタファイル:貼り付け時に画像化)」の優先順位を持つ
 (注意!)
 PowerPoint2007 ---> Word2007 に図形をコピーするとき
 「Microsoft Office グラフィックオブジェクト」を選択すると、
 クリップボードの中ではベクトルデータであるが、
 Word2007 に貼り込まれるときにラスタデータに変換され、醜い体裁となる。
 Word2010 ではラスタデータへの変換は起こらない。
Word 2007 で Excel 2007 または PowerPoint 2007 から図、図形、クリップ アートなどを貼り付けると 1 つのSmartArt グラフィックになり、編集できない
Microsoft Office Excel 2007 または Microsoft Office PowerPoint 2007 のファイル上の図、図形、クリップ アートなどのオブジェクトを Word 2007 文書に貼り付けると、貼り付けたオブジェクトを Microsoft Office Word 2007 で編集することができません。また、複数のオブジェクトをまとめて一度の操作で貼り付けた場合は 1 つの SmartArt グラフィックとして貼り付けられ、各オブジェクトを個別に扱うこともできなくなります。
原因
Excel 2007 および PowerPoint 2007 と Word 2007 での図、図形、オートシェイプの描画エンジンが異なることが原因で発生します。

Windows 10で動く4つのOffice、およびOfficeのバージョンとOSの関係

Office Online と Office デスクトップ アプリケーションの機能差異に関する情報
一部の Office ファイルを変換するのに Microsoft オンライン サービスが必要な理由
MacOs,iOS,Android,Mobileで参照が必要。
Windows と Office のバージョンによる組み合わせについて

Web用Word(Word for the Web)

Web 用 Word
ブラウザーと Word での文書の使用の相違点
Word For the Webの互換性はここでわかる。
重要な点を挙げる。つまり互換性がない部分、不完全な部分というのがWordの本質をあらわしているからだ。
Word はxmlになっているため、Webブラウザで表示しても本来違和感がない・・・はずであるが、当然そうではない。

ブラウザーとデスクトップで異なる機能
Web 用 Wordで文書を編集するときには、テキストの編集や書式設定を行うことができるように、文書は編集表示で表示されます。 [編集表示] では、余白や改ページ、表紙、ヘッダー、フッターなどのページの書式設定は表示されません。 さらに、多くの種類のオブジェクトがプレースホルダーとして表示されます

この記述はWordの互換性とは文字だけで、オブジェクトはどうしても優先されないということがわかる。極論するとオブジェクトを使うと互換性を喪失するのである。

ページ サイズ

[閲覧表示] では、デザインされているサイズでページが表示され Web 用 Word ます。 編集は、レター、リーガル、Executive、A4、A5、カスタムサイズのレイアウトでサポートされています。 表示されていない標準の用紙サイズのサイズがわかっている場合は、[用紙サイズ] ダイアログボックスに入力します。 たとえば、[A3] ページサイズのレイアウトで編集するには、ユーザー設定の用紙サイズを 11.69 16.54 インチ (297 x 420 mm) として設定します。

Wordの基本はA4、横書き上35mm左右25mmであり、MS明朝10ポイントが基本である。この組み合わせであれば、おおむねレイアウトすら狂わない。ただしオブジェクトを使うと互換性にリスクが生じるということなのだ

写真

自分のコンピューターや Bing からの画像やクリップ アートを挿入します。 さまざまな図のスタイルを適用したり、代替テキストを書き込んだり、サイズを変更したり、新しい場所へドラッグしたり、トリミングしたり、回転したりすることができます。 スクリーンショットは Web 用 Wordで直接作成することはできませんが、ドキュメント内のスクリーンショットは Web 用 Wordの画像として表示されます。

図形、グラフ、テキストボックス、SmartArt、ワードアート
これは、閲覧表示で期待どおりに文書内に表示されます。 編集表示では、削除できるプレースホルダーとして表示されますが、編集はできません。 Web 用 Wordでは、移動やサイズ変更を行うことはできません。

写真との違いが面白い。SmartArtやWordArtは互換性がないため、画像に変換されたり、効果が解除されることがあるが、Web版でも同じである。これは本質的にWordが文字だけを想定している。このほかにWordが重視しているのはこのWrb版が共同編集を目的としたものであるため、変更履歴、数式が完全に表示される。このリストを見ると、Wordが何を目的としていて、何が互換性の急所になるのかがわかる。

Word 2019

の前に
Office 2019 概要 (IT 担当者向け)
2020/01/18
Office 2019 は、小売店やボリューム ライセンス契約を通じて 1 回限りの購入として利用可能な Microsoft 製品の最新バージョンです。
重要
Office 2019 は、Office 365 のプランを使用している Office とは別です。 たとえば、組織内のユーザーに Office 365 ProPlus を展開した場合、Office 2019 は必要ありません。 すでに Office 2019 に含まれているすべての機能、そしてもっと多くの機能を持っています。(中略)
これらの Office 製品は、インストールテクノロジとして、Windows インストーラー (MSI) ではなくクイック実行を使用するようになりました。 ただし、これらの Office 製品をライセンス認証する方法 (たとえばキー管理サービス (KMS) を使用して) は変わりません。

Office 2019 で変わっていないのは何ですか。

別のインストールテクノロジもありますが、現在のところ、Office の展開に使用しているのと同じソフトウェア配布ツール (Microsoft Endpoint Configuration Manager など) を使うことができます。 また、Office のボリューム ライセンス版をライセンス認証する方法 (たとえばキー管理サービス (KMS) を使用して) も変わりません。
Office 2019 のメジャー バージョンは16.0 のままなので、次のように、Office 2016 からアップグレードする場合にも同じことがあります。


  • 16.0 を参照するその他のレジストリの場所と設定情報は引き続き適用されます。
  • また、Office 2016 と互換性があるアドインおよびその他の機能拡張ソリューションは、Office 2019 と互換性がある場合がほとんどか、または最小限のテストのみ必要になります。
その他の情報
  • Office Professional Plus 2019 には、Access、Excel、Outlook、PowerPoint、Publisher、Word、および Skype for Business が含まれています。
  • 2019 バージョンの OneNote はありませんが、OneNote 2016 を Office 2019 で利用できます。 詳細については、「OneNote の展開ガイド」を参照してください。
  • Office 2019 のすべての製品は、32 ビット版と 64 ビット版の両方のバージョンで使用できます。 4 GB 以上のメモリを搭載した 64 ビット版のコンピューターをお勧めします。 ただし、32 ビット版を使用する必要があるアプリケーションの互換性やその他の要因を評価する必要があります。 詳細については、「Office の 64 ビット版と 32 ビット版を選択する」を参照してください。
  • インストールファイルをダウンロードした後、Office 2019 をインストール、ライセンス認証、または使用するためにインターネット アクセスは必要ありません。
  • SharePoint Designer および InfoPath の 2019年版はありません。 両製品の最新バージョンは、2013 です。

(後略)
[編注]だれがみてもわけがわからないのだから、この程度で理解されると思っては行けない。

Word 2019 for Windows の新機能
言語の壁を取り除く
Microsoft Translator を使用して単語、語句、または文を別の言語に翻訳できます。 リボンの [レビュー] タブからこれを行うことができます。

読みやすさを向上させる

目を休めませんか。 文字間隔、列の幅、ページの色を調整してみましょう。 また、Word で読み上げられる文書を聞くこともできます。読み上げられているテキストは強調表示されます。

デジタル ペンを使用した描画と書き込み

カスタマイズ可能なポータブル一連のペン (と鉛筆!) 自然な方法で、文書内で作成できます。 重要な内容が強調表示、描画、図形、インクを変換または計算を行います。

アイコンと SVG を追加する

アイコンや他のスケーラブル ベクター グラフィック (SVG) をドキュメントに加えます。 色を変更したり効果を適用したりして、ニーズに合わせて編集することができます。

見る角度を変えることができる 3D 画像を使う

[編注]互換性で泣かされてきたユーザーから見ると、明らかにつかってはいけない機能ですね。
Office 製品のトラブルシューティング
ここからサイトまるごとダウンロードできるが、PDFで11MBをこえ、1157ページある
Office クライアントの開発
翻訳がおかしいページもダウンロードできるが、1万ページを超えている。

Word 2016

Microsoft Office 2016 ファイルフォーマット及びドキュメント レイアウトの互換性について(pdf)
Office 2016 では、図形内およびテキスト ボックス内のテキストも図形と同じ描画エンジンで表現するようになり、ワードアート オブジェクトという概念はなくなりました。Office 2007 以前のバージョンでワードアート オブジェクトを使用したファイルを Office 2016 で開くと、同等の装飾効果が施されたテキストに変換されます。見た目はほとんど変わりませんが、影などの既定値が変わった効果の影響で若干見た目が変わることがあります。Office 2016 で上書き保存し、再び Office 2007 以前のバージョンで開いた場合は、ワードアートとして編集することが可能です。しかし、Office 2016 で、Office 2007 以前のバージョンではサポートしていない種類の装飾効果に変更を行った場合は、Office 2007 以前のバージョンで開くとテキストの装飾効果が失われます。
Word Art
3d effect
テキストボックス(グラデーション)
視覚効果が取り消される場合がある。
閲覧モードの一部
Word 2013 以降、表示タブ内から全画面閲覧の項目が削除されました。全画面閲覧は、リボンが非表示になり閲覧に特化した画面構成にする機能でしたが、これに代わって、リボンを表示せず、さまざまな表示設定でドキュメントを閲覧可能な「閲覧モード」という項目が追加されています。
➢ サポートされていないフォントの種類
新しい Windows プラットフォームへのアップグレードのため、BitmapPrinterAdobe Type 1CFF/Type2TTO.FON のフォントはサポートされなくなりました。
Word で UnicodeMath および LaTeX を使用して行形式の数式を入力する

https://blogs.msdn.microsoft.com/murrays/2017/07/30/latex-math-in-office/
https://docs.microsoft.com/ja-jp/archive/blogs/murrays/latex-math-in-office

doc ⇒ docx への変換ができません 2018/12/05 Answers.microsoft.com

Word2016を使っています。
「doc」で作成されている文書を「docx」で保存したいのですが、ファイルタブのエクスポートで変換しても、名前を付けて保存にしても「docx」になりません。
ファイル名を変えて「docx」形式で保存にしても、ファイル名も拡張子も変わりません。
互換性の確認をすると、問題は見つかりませんでした、と出ます。
「変換」できない原因と対策を教えてください。
リッチテキスト形式を介在させる方法は、ファイルが破損している場合に修復する方法の一つとして、20年以上前の Word 95 の時代からある方法ですが、正常な状態にできても問題となる個所の特定まではできないので、元ファイルに問題がある可能性が高いとしか言えません。
ファイルの破損の疑いが考えられる場合、問題個所の特定はできませんが、以下のような別方法を試してみた場合にどうなるかですね。
<方法1>
ファイル > 開く > 参照で、問題が起こるファイルを選択して、[開く|▼] > 開いて修復でファイルを開いて変換した場合はどうか。
<方法2>
問題のある doc ファイルと、もう一つ新規作成ファイルを開いて、doc ファイルの内容を Ctrl+A ですべて選択し、← キーを押して最後の段落記号だけ除外して Ctrl+C でコピーして新規文書に貼り付け、docx として保存してみる。

これらの方法でも問題がないとすれば、特定の人が使用している Office の修復、または Easy Fix を使用して Office を削除し再インストールなどを行ってみたほうが良いように思います。
※特定の人の環境に問題があると断言できるわけではありませんが・・・
docx に変換できない doc ファイルのどこに原因があるかは、文書内容を半分削除して変換できるか確認し、変換できない側を更に半分だけ削除して変換できるかといった方法で範囲を絞り込んでいく方法や、特定のオブジェクトだけを削除して変換可能となるか確かめてみる方法などが考えられます。

時間を要すると思いますので、状況を見ながら試してみてはどうかと思います。

Microsft Office 2003 ユーザーのための Microsoft Office 2016アップグレードガイドFOM 出版

FOM出版で電子で出版されている。だが90ページしかない。

Office の互換モードを管理する

Word 2003 オプションを選択すると、word 2007 以降の機能が無効になっている新しい Open XML ファイルが作成されます。 この操作を行うと、Word 2003 ユーザーが編集できないコンテンツが、開いている XML ファイルに含まれていないことが確認されます。 ただし、Word 2003 と互換性のある Word Open XML ファイルを編集するには、その前に Office 2003 のユーザーに互換機能パックがインストールされている必要があります。

Office の XML ファイル名拡張子のリファレンス
Strict Open XML ドキュメント

.docx
Open XML standard (ISO/IEC 29500) の厳密なプロファイルに準拠します。 Open XML のこのプロファイルは、ISO/IEC 29500 のパート4で指定された既存のバイナリドキュメントとの下位互換性を保つために特別に設計された機能のセットを許可していません。

Word マクロ有効文書

.docm
Word 文書形式と同じ基本的な XML 形式を使用しますが、VBA マクロコードを保存することができます。 このファイルの種類は、VBA マクロコードがファイルに存在するときに作成されます。

Office 2016 の管理者向けの新機能
Office 2016 に追加された新しいグループポリシー設定

新しいバージョンの Office と同じように、グループポリシー設定用の新しい管理用テンプレートファイル (ADMX/ADML) が用意されています。 管理用テンプレートファイルは、Microsoft ダウンロードセンターからダウンロードできます。 ダウンロードに含まれている Excel ファイルには、すべてのグループポリシー設定の一覧と、Office 2016 の新しいポリシー設定の一覧が含まれています。
これは後で言っているグループポリシーを設定して互換性を維持する方法で使う項目である。

Windows デスクトップ向け Office 2016 の変更点
EPS 画像

EPS ファイル形式を使用した画像を挿入する機能はサポートされなくなりました。
EPS ファイル形式を使用する画像が含まれている Office ファイルを使用している場合、画像は赤い X プレースホルダーで置き換えられます

数式エディター

Microsoft 数式エディター3.0 は Office 2016 ではサポートされていません。
Office 2016 では、数式を作成または編集するために何もインストールする必要はありません。 [数式の挿入 > ] を選択するだけです。 詳細については、「数式を書く」を参照してください。(2018年1月から)
[編注]この2つはVBAで扱えるものではないが、非常に重要なので注意する必要がある。数式エディターは変更ではなく、あわててぶんなげたようなもの。なにが変更点だ。

最近のWord、Excelを理解するために必要なこと

[編注]游ゴシックはおそらく、拡大、縮小に対応したものだが、Excelは行の高さが変わるのでレイアウトが変わるとのこと。やはり2016と2013でレイアウトに違いが生じることを確認されている。

ある日突然、Wordにレイアウト崩れが!そんなときの対処法とは?

要は処理をCPUとGPUのどちらにさせるかの違いですので気軽に(?)変更して問題はありません。
グラフィック機能が高くないパソコンの場合は、はじめからハードウェア グラフィックアクセラレータを無効にしておくほうが無難かもしれませんね。

[編注]いかに問題の切り分けが難しいかがよく分かる。
word2016でアニメーション効果offの設定が保持されない

ワードパッド

Windows XP からUnicodeに完全対応した。Windows Write 形式 (.wri) も対応していたが、Windows XP SP2以降は Microsoft Write 形式が扱えなくなった[1]。Windows VistaからはWordドキュメント形式 (.doc) も扱えなくなった。

Wrodpadもdoc形式が取り扱えない

Word でファイルを開くときに、レジストリポリシー設定またはファイル制限機能の設定によってブロックされる

[編注]この設定が重要である。
word2016でアニメーション効果offの設定が保持されない

GPUが2つあるときにパフォーマンスが低い場合

Officeアニメーションの無効化(DisableAnimations)

Office 2013の文字入力が“にゅるにゅる”と遅いのを無効化する方法
How to Read Old MS Word Files When Word Says You Can’t

Unfortunately, this trick doesn’t help you with the oldest Word files. Documents from the late 80s and early 90s may present you with the “Recover text” option only (you can scrape some recognizable words out, but all formatting and accents are lost) or only a blank screen.
残念ながら、このトリックは、最も古いWordファイルでは役に立ちません。 80年代後半から90年代前半のドキュメントでは、「テキストを復元」オプション(認識可能な単語を一部削除できますが、書式設定とアクセントはすべて失われます)または空白の画面のみが表示される場合があります。

[編注]Word95は非常に性能が悪く、縦書きすらできなかった。Word97でもだめだったためWord98を出したほどである。このため、おそらく日本ではあまり影響がない。しかし海外では深刻である。Word95以前から使用されていたためデータが残っているのである。

Word 2013

テレメトリ ログを使用した Office ファイルおよびカスタム ソリューションのトラブルシューティング
Office の互換性に関する問題

テレメトリ自体は法人用などのオフィスでしか使えない。しかしこのエラーコード表は一体何が互換性の障害になるかヒントを与えている。面白いのはOutlookとWordが一緒に扱われている項目が多いことである。やはりOutlookはWordの機能を一部使っていることがわかる。

[Office2013_compatibility_for_macro.pdf]{download.microsoft.com/download/8/5/C/85CA5B92-0829-4966-AECE-C7B4FB2EDE07/Office2013_compatibility_for_macro.pdf)

またPrinterFontの自動読み込みが2013から削除。これが互換性に影響する。

Word2013の句読点のぶら下げ処理

https://docs.microsoft.com/ja-jp/office/troubleshoot/word/custom-xml-markup-is-removed

これは2009年の敗訴を受けている。2003までで作られたxmlファイルで作動する。保存するとカスタムxmlが削除される。
ただしWord 2010 2007には修正が入っており、それで作成している場合にはすでに削除されている。

Word 2013 とそれ以前のバージョンの Word の間のコンテンツレイアウトの変更点

2019/11/22
適用対象:Word 2013

Summary

Microsoft Word 2013 では、新しい、強化されたレイアウトエンジンと互換モードを使用して、Microsoft Word の異なるバージョン間でレイアウトが一貫していることを確認できます。

以前のバージョンの Word で作成された文書を Word 2013 で開くと、文書は互換モードで開きます。 この場合、タイトルバーのドキュメント名の後に "[互換モード]" が続きます。

新しい名前を使用して文書を保存すると、Word 2013 では、以前のバージョンの Word との互換性を維持するかどうかを確認するメッセージが表示されます。 この状況では、[OK] を選択して最新のファイル形式にアップグレードすると、レイアウトに一部の小さな変更が表示されることがあります。 ダイアログボックスの [詳細を表示] ボタンをクリックすると、次の Microsoft web サイトに移動します。

Word 2013 を使用して、以前のバージョンの Word で作成された文書を開く

詳細

このセクションでは、互換モードを使用する場合、または文書を新しい Word 2013 ファイル形式で保存する場合に、異なるバージョンの Word 間のレイアウトの変更点を示します。


  • 図 (図、図形、テキストボックスグラフ、SmartArt、およびワードアート)

    • 以前のバージョンの Word では、ページの端からはみ出した位置にテキストの折り返しが適用されている図形、またはページの下余白に配置された図形を使用できます。 Word 2013 では、テキストの折り返しが適用され、[オブジェクトをテキストに移動] オプションが有効になり、ページに戻ります。 図形を下余白に移動すると、Word 2013 によって図が次のページにプッシュされます。
    • Word 2013 は新しいグラフィックス形式を使用します。 新しい書式では、影のサイズと境界線の幅が若干変更されます。
    • Word 2013 では、図の横に配置されたテキストは別にレイアウトされます。

  • テーブル
    • 以前のバージョンの Word では、テーブル内のテキストは、テーブル外部のテキストに合わせて配置されます。 Word 2013 では、表の UI 設定が考慮され、テーブル内のテキストは表の外側のテキストに強制的に配置されることはありません。 既定では、表は Word 2013 の余白によって制限されます。
    • Word 2013 では、表を少しずつシフト (既定値は .08 インチ) し、表の幅を狭くすることができます。 この動作によって、行が前に分割されることがあります。 これにより、セルが縦になり、ページが以前に改ページされる可能性があります。

  • 脚注
    • 既定では、Word 2013 は、文書に複数の列がある場合に、脚注を列に配置します。 さらに、脚注参照が本文のどこに表示されるかに関係なく、脚注はページの最初の列から始まります。 Word 2013 脚注の列間で脚注のバランスをとります。



  • 全体的なレイアウト

    • Word 2013 の列バランスアルゴリズムが向上しました。 この機能強化により、列のテキストのレイアウトが変更されます。
    • Word 2013 では、新しいアルゴリズムを使用して、テキストと区切り線を調整する最適な方法を決定します。 そのため、行とページ区切りには変更が加えられています。
    • Word 2013 のファイル形式で保存されたドキュメントに対し て、ハイフネーション の設定] ダイアログボックスでハイフネーションゾーン設定を使用することはできません。
    • Word 2013 のファイル形式で保存されているドキュメントの [ファイルオプションの詳細 設定] ダイアログボックスで [テキストの境界線を表示する] の設定を適用すると、各段落の周りにテキスト境界線が表示されます。 ただし、ドキュメントが互換モードの場合、ページの端の周りにテキスト境界線が表示されます。

メモ word 2013 でレイアウトを更新し、他のバージョンの word との互換性を維持する方法の詳細については、次の Microsoft web サイトを参照してください。
http://blogs.office.com/2012/08/21/updating-layout-in-word-2013-while-maintaining-compatibility/
https://web.archive.org/web/20150104012314/http://blogs.office.com/2012/08/21/updating-layout-in-word-2013-while-maintaining-compatibility/

Updating layout in Word 2013 while maintaining compatibility

by Theresa Estrada, on August 21, 2012
This week’s post comes from Theresa Estrada, the program manager responsible for layout in Word.

Since the Office Customer Preview was announced a few weeks ago, we’ve talked quite bit about the vision for the product and the new features that you’ll be able to take advantage of when you try it out. One area that we invested heavily in this release, but has remained under the radar, is our work on the layout engine that Word uses. When I say “layout” I’m referring to the way that Word places everything onto the page. The position of everything from a single character of text to a complex table is calculated during layout and then the results are displayed on the screen. This technology really forms the core of our product.
数週間前にOffice Customer Previewが発表されて以来、製品のビジョンと試用時に活用できる新機能についてかなり話しました。 このリリースに多額の投資を行ったが、まだ注目されていない分野の1つは、Wordが使用するレイアウトエンジンに関する作業です。 「レイアウト」と言うとき、Wordがすべてをページに配置する方法を指します。 テキストの1文字から複雑なテーブルまでのすべての位置がレイアウト中に計算され、結果が画面に表示されます。 この技術は、実際に当社製品のコアを形成しています。
We know from talking to you that layout is absolutely critical. So critical, in fact, that the tiniest change to the layout of a document between versions can be a big issue. With this in mind, we have always been incredibly focused on trying to maintain compatibility between versions of Word. Unfortunately, this has constrained our ability to both tweak layout in complex cases and to offer new, more sophisticated document layout features – two things that folks regularly request.

In past releases, we introduced Compatibility Mode to help ensure layout fidelity between versions. With this release, we went a step further. While we still have Compatibility Mode, files upgraded to Word 2013 mode use a new and much improved layout engine.
私たちはあなたと話すことから、レイアウトが絶対に重要であることを知っています。 実際、バージョン間でドキュメントのレイアウトをわずかに変更するだけでも大きな問題になる可能性があります。 これを念頭に置いて、私たちは常に、Wordのバージョン間の互換性を維持しようとすることに非常に集中しています。 残念ながら、これにより、複雑なケースでレイアウトを調整したり、新しい、より洗練されたドキュメントレイアウト機能を提供したりすることができなくなりました。

過去のリリースでは、互換モードを導入して、バージョン間のレイアウトの忠実性を確保しました。 このリリースでは、さらに一歩前進しました。 互換モードはまだありますが、Word 2013モードにアップグレードされたファイルは、新しく改善されたレイアウトエンジンを使用します。

A little background

There are two components that make up the new layout engine in Word: Line Services and Page & Table Services.

Line Services, or LS, is a component that is used in products across Microsoft to control line layout. This was originally included in Word 2000. Since that time, LS has handled everything from individual characters, like basic Latin characters, to math equations and special East Asian phonetic objects. It also includes how text is broken at the end of a line.

少し背景について説明します

Wordの新しいレイアウトエンジンを構成する2つのコンポーネントがあります:Line ServicesとPage&Table Services。

ラインサービス(LS)は、ラインレイアウトを制御するためにMicrosoft全体の製品で使用されるコンポーネントです。 これは当初、Word 2000に含まれていました。それ以来、LSは基本的なラテン文字などの個々の文字から数学の方程式や特別な東アジアの音声オブジェクトまですべてを処理しました。 また、行末でのテキストの分割方法も含まれます。

Page and Table Services, or PTS, was first introduced in Word 2007. This component is used to handle the layout of everything outside the control of Line Services. For example, it handles the layout of objects like tables and figures (pictures, charts, SmartArt, etc), as well as their interactions with the paragraphs of text on the page.

You might be thinking “Wait, she said this was a new layout engine but these were already included in Word. What gives?” Yes, LS and PTS have both shipped in Word before, but they were never fully integrated into Word – we were able to use just a fraction of their goodness because we were working hard to maintain compatibility with the prior version.

ページサービスとテーブルサービス(PTS)は、Word 2007で初めて導入されました。このコンポーネントは、上記のLineサービスが制御外のすべてのレイアウトを処理するために使用されます。 たとえば、テーブルや図(画像、チャート、SmartArtなど)などのオブジェクトのレイアウト、およびページ上のテキストの段落との相互作用を処理します。

「待って、彼女はこれが新しいレイアウトエンジンであると言ったが、これらは既にWordに含まれていた。 何が新しい機能としてWord2013に与えられたのですか?」 はい、LSとPTSは両方とも以前はWordで出荷されていましたが、Wordに完全に統合されることはありませんでした。

What’s new

With the new layout engine we had three goals:


  1. More accurate, predictable layouts
  2. Start introducing new, more sophisticated layouts
  3. Improved performance

Word 2013は何が新しいのか?
新しいレイアウトエンジンでは、3つの目標がありました。


  1. より正確で予測可能なレイアウト
  2. より洗練された新しいレイアウトの導入を開始します
  3. パフォーマンスを向上
More accurate, predictable layouts

The existing layout engine in Word evolved over many releases. As such, the original design didn’t account for many of the features that were later added to Word. This meant that we didn’t always handle layout efficiently or in an intuitive way – which could leave you scratching your head and wondering why Word was behaving so strangely. Even though we used LS and PTS, we had to carry forward existing behaviors (even the strange ones) to help ensure compatibility.

The first order of business in fully integrating LS and PTS into Word was to break the pattern of carrying forward undesirable behavior. The newer, cleaner code of LS and PTS didn’t include many of these issues and by fully integrating with the components, we were able to address many of these behaviors. The end results are often subtle: text can be more evenly balanced across multiple columns, table cells can be more accurately auto-fit to their contents and figures’ positioning properties are applied more faithfully.
より正確で予測可能なレイアウト

Wordの既存のレイアウトエンジンは、多くのリリースで進化しました。そのため、元のデザインでは、後でWordに追加された機能の多くが考慮されていませんでした。これは、レイアウトを常に効率的に、または直感的な方法で処理するわけではないことを意味します。これにより、頭を悩まし、なぜWordがこれほど奇妙に動作するのか疑問に思うかもしれません。 LSとPTSを使用していても、互換性を確保するために、既存の動作(奇妙な動作も含む)を引き継ぐ必要がありました。

LSとPTSをWordに完全に統合する際の最初のビジネスオーダーは、望ましくない動作を繰り越すというパターンを打ち破ることでした。 LSおよびPTSの新しい、よりクリーンなコードにはこれらの問題の多くが含まれていなかったため、コンポーネントと完全に統合することにより、これらの動作の多くに対処することができました。最終結果はしばしば微妙です。テキストは複数の列でより均等にバランスを取ることができ、表のセルは内容により正確に自動調整でき、図の配置プロパティはより忠実に適用されます。

Sophisticated new layouts

We often hear from customers about layouts you wish you could achieve in Word. In many cases, customers are using tools such as LaTEX to produce perfectly typeset documents and wish they could do the same in Word. While we don’t claim to have reached that level of professional typesetting, LS and PTS have opened the door to start introducing new layout features.

For starters, we’ve taken further strides forward with LS, by introducing a new algorithm to handle line breaking. This algorithm considers several aspects of the line, such as word length, spacing between words and possible hyphenation points, to break each individual line at a point which provides the best fit for the line. This allows us to be smarter about line breaks and produce text that is easier for readers to consume.

Going beyond this, in Word 2013, you will be able to:
洗練された新しいレイアウト

Wordで実現できるレイアウトをお客様からよく耳にします。 多くの場合、顧客はLaTEXなどのツールを使用して完全にタイプセットされたドキュメントを作成し、Wordでも同じことができることを望んでいます。 プロの組版のレベルに達したとは言えませんが、LSとPTSは新しいレイアウト機能の導入を開始するための扉を開きました。

まず第一に、改行を処理する新しいアルゴリズムを導入することで、LSをさらに前進させました。 このアルゴリズムは、単語の長さ、単語間の間隔、可能なハイフネーションポイントなど、行のいくつかの側面を考慮して、個々の行を行に最適なポイントで分割します。 これにより、改行についてよりスマートになり、読みやすいテキストを生成できます。

これを超えて、Word 2013では次のことができるようになります。


  • Create footnotes using a different number of columns than what is used in the main document
  • メイン文書で使用されているものとは異なる列数を使用して脚注を作成する
  • Insert pictures that are taller than 22” in web layout, which is now a truly “bottomless” page
  • 22インチを超える高さの画像をWEBレイアウトに挿入可能にしました。これによって真の底のないページができます。
  • Wrap text around a figure in a header
  • ヘッダーで画像を使用し、文字を折り返して表示させることができます。
Maintaining compatibility

When you launch Word 2013, you won’t notice any big changes related to this layout investment right away. If you start a new document, you will automatically be using the new layout engine and able to take advantage of all its goodness. Documents created this way will use the same file format, so they will open in prior versions of Word as expected. Because the layout engine has changed, however, documents created in Word 2013 mode may lay out differently when opened in the prior version. If you work in an enterprise where sharing documents across versions of Word is common, a group policy exists to force all new documents to be created in compatibility mode.

For existing documents, we recognize the need to maintain layout fidelity across versions. These documents will always open in compatibility mode, which is indicated in the title bar of the Word window.
互換性の維持

Word 2013を起動すると、このレイアウトへの投資に関連する大きな変更はすぐには気付かないでしょう。 新しいドキュメントを開始すると、新しいレイアウトエンジンが自動的に使用され、そのすべての長所を活用できるようになります。 この方法で作成されたドキュメントは同じファイル形式を使用するため、以前のバージョンのWordで期待どおりに開きます。 ただし、レイアウトエンジンが変更されているため、Word 2013モードで作成されたドキュメントは、以前のバージョンで開いたときにレイアウトが異なる場合があります。 Wordのバージョン間でドキュメントを共有することが一般的な企業で作業している場合、すべての新しいドキュメントを互換モードで強制的に作成するグループポリシーが存在します。

既存のドキュメントについては、バージョン間でレイアウトの忠実度を維持する必要があることを認識しています。 これらのドキュメントは常に互換モードで開きます。これは、Wordウィンドウのタイトルバーに表示されます。
You have the option of converting these to the Word 2013 mode to take advantage of the new features. To do this, click the File button, then click the Convert button on the Info tab.
If maintaining layout compatibility is critical to you, we don’t recommend converting. For many simple documents however, converting will not result in any noticeable changes.

これらをWord 2013モードに変換して、新機能を利用するオプションがあります。 これを行うには、[ファイル]ボタンをクリックしてから、[情報]タブの[変換]ボタンをクリックします。

レイアウトの互換性を維持することが重要な場合、変換することはお勧めしません。 ただし、多くの単純なドキュメントでは、変換しても目立った変更は生じません。

Setting the stage for the future

We are definitely excited about the changes we’ve enabled in Word 2013 by embracing the new layout engine. What we’re even more excited about is what this enables us to do in the future. Line Services and Page & Table Services open the door to a world of new features that would not have been possible in the past.
The layout changes in Word were brought to you by the PTLS feature crew, most of whom are shown here. If you want to learn even more about the history of the team and the components, check out Murray Sargent’s MSDN blog about Line Services.

未来の舞台を設定する

新しいレイアウトエンジンを採用することで、Word 2013で有効になった変更について、私たちは間違いなく興奮しています。 さらに興奮しているのは、これが将来私たちにできることです。 ラインサービスとページ&テーブルサービスは、これまで不可能だった新しい機能の世界への扉を開きます。

Wordでのレイアウトの変更は、PTLS機能担当者によってもたらされました。そのほとんどがここに示されています。 チームとコンポーネントの歴史についてさらに詳しく知りたい場合は、ラインサービスに関するマレーサージェントのMSDNブログをご覧ください。
当然のように削除されているリンクはWaybackMachineがなければわからない。
http://blogs.msdn.com/b/murrays/archive/2006/11/15/lineservices.aspx
https://web.archive.org/web/20150107050053/http://blogs.msdn.com/b/murrays/archive/2006/11/15/lineservices.aspx

lineservices

Murray Sargent: Math in Office
I'm a software development engineer in Microsoft Office and have been working mostly on the RichEdit editor since 1994. In this blog I focus on mathematics in Office along with some posts on RichEdit and the early Windows days
LineServices
MurrayS3
14 Nov 2006 9:40 PM
One of the key technologies behind the high quality display of mathematical text in Word 2007 and RichEdit 6.0 is a special component called LineServices along with its sibling Page/TableServices. In addition to handling math display, various versions of LineServices are responsible for line layout in Word, Publisher, RichEdit, PowerPoint, Internet Explorer, FrontPage, Visio, and Vista. It was developed by one of the most amazing teams at Microsoft. Because LineServices is used by components like RichEdit and Vista controls, it’s indirectly available to developers outside Microsoft. The low-level interfaces to run it directly are tricky to use and in general aren’t documented very completely. Microsoft developers who use LineServices generally consult with the LineServices team.

This post tells some of how LineServices came to be and developed over time. It all started in 1994 with one of Microsoft’s most talented engineers, Eliyezer Kohen, a Turkish computer scientist who obtained his PhD at the Technische Hochshule in Zurich with Niklaus Wirth (author of Pascal, among other things). Eliyezer had led the two-man team (with Greg Hitchcock) that developed the Microsoft TrueType rasterizer as well as the two-man team (with Dean Ballard) that developed the original OpenType specification. Peter Pathe was heading Word at the time and wanted to improve Word’s line layout. He figured that Eliyezer could get a team going to do this in time for Word 97.

Word 2007およびRichEdit 6.0での数学テキストの高品質表示の背後にある重要な技術の1つは、兄弟ページ/ TableServicesとともにLineServicesと呼ばれる特別なコンポーネントです。数学表示の処理に加えて、LineServicesのさまざまなバージョンは、Word、Publisher、RichEdit、PowerPoint、Internet Explorer、FrontPage、Visio、およびVistaの行レイアウトを担当します。 Microsoftの最も素晴らしいチームの1つによって開発されました。 LineServicesはRichEditやVistaコントロールなどのコンポーネントで使用されるため、Microsoft以外の開発者が間接的に利用できます。直接実行するための低レベルインターフェイスは使用するのが難しく、一般的には完全には文書化されていません。 LineServicesを使用するMicrosoft開発者は、一般にLineServicesチームと相談します。

この投稿では、LineServicesがどのように発展し、どのように発展してきたかについて説明します。すべては1994年に、Microsoftの最も才能のあるエンジニアの1人であるエリエゼル・コーエンから始まりました。エリエゼル・コーエンは、チューリッヒのTechnische Hochshuleでニクラウス・ワース(特にパスカルの著者)と博士号を取得しました。 Eliyezerは、Microsoft TrueTypeラスタライザーを開発した2人チーム(グレッグヒッチコックと)と、元のOpenType仕様を開発した2人チーム(Dean Ballardと)を率いていました。 Peter Patheは当時Wordを見出していたため、Wordの行レイアウトを改善したいと考えていました。彼は、EliyezerがWord 97に間に合うようにチームにこれをさせることができると考えました。
Eliyezer was convinced he could factor out Word’s line layout, but because of Word’s mind boggling backward compatibility requirements and the lack of adequate help from the Word team, he refused to agree to the Office 97 time frame. I was working on RichEdit 2.0 next door to Eliyezer back then and you should have heard the prolonged arguments between Eliyezer and Peter! In that time frame, Eliyezer actually had a native American working with him named Lennox Brassel along with Ping Wong. Then he hired his first St. Petersburg mathematician, Sergey Genkin, who was recommended by another St. Petersburg mathematician already at Microsoft, Andrei Burago (more about Andrei in a bit). Here I use the term mathematician to mean someone who majored in mathematics, although he changed to computer science afterwards. Sergey’s first job after arriving in the USA in 1991 was back East working on a TeX compatible system, a very useful background for his later work on the math handlers.

Eliyezer needed additional developer cycles, so he asked Sergey if knew any more smart guys back in St. Petersburg. Sure enough Igor Zverev could come and RichEdit was fortunate enough to have Igor’s and Andrei’s services for a while in developing RichEdit 2.0. Not long after, yet another St. Petersburg mathematician Victor Kozyrev joined the team. The team developed LineServices 2.0, which shipped first with a little program called Greetings Workshop in 1997. It also shipped with Publisher in 1998.

Eliyezerは、Wordの行レイアウトを考慮に入れることができると確信しましたが、Wordの後方互換性要件が行き詰まっており、Wordチームの適切な支援がないため、Office 97の時間枠に同意することを拒否しました。当時、私はEliyezerの隣のRichEdit 2.0に取り組んでいましたが、EliyezerとPeterの間で長らく議論されていたはずです。その時間枠で、エリエゼルは実際にピン・ウォンと一緒にレノックス・ブラッセルという名前のネイティブ・アメリカンを彼と一緒に働いていた。その後、彼は最初のサンクトペテルブルクの数学者であるセルゲイ・ゲンキンを雇いました。セルゲイ・ゲンキンは、すでにマイクロソフトにいる別のサンクトペテルブルクの数学者アンドレイ・ブラーゴ(アンドレイについて少し説明します)から推薦されました。ここで数学者という用語は、数学を専攻した人を意味しますが、彼はその後コンピュータサイエンスに変わりました。 1991年に米国に到着した後のセルゲイの最初の仕事は、東部でTeX互換システムに取り組んでいたことです。これは、後の数学ハンドラーの研究に非常に役立つ背景です。

Eliyezerは追加の開発者サイクルが必要だったため、Sergeyにサンクトペテルブルクに戻った賢い人はいないか尋ねました。十分にイゴールズヴェレフが来ることができ、RichEditは幸運なことに、RichEdit 2.0の開発においてイゴールとアンドレイのサービスをしばらく持つことができました。まもなく、別のサンクトペテルブルクの数学者ビクター・コジレフがチームに加わりました。チームはLineServices 2.0を開発しました。これは、1997年にGreetings Workshopと呼ばれる小さなプログラムで最初に出荷されました。1998年にPublisherでも出荷されました。
LineServices 3.0 was developed and shipped with Word 2000, Internet Explorer 5.0, RichEdit 3.0, and PowerPoint 2000. In addition to Western text, LineServices supported several special layout objects: the reverse object for BiDi text, the ruby object for East Asian phonetic annotations, Takanakayoko (Japanese for “horizontal in vertical”, but sounds better than HIV), and warichu (two lines in one). From my point of view ruby was just a fraction in disguise, so naturally I was very excited to see that LineServices could do such a beautiful job displaying ruby. The initial ruby handler was developed by Rick Sailor.

LineServices handles lots of tricky problems with text layout and calls the client back for all the information it needs. LineServices never makes any operating system calls directly and it can run on any operating system that has a C compiler. It’s written in C in what amounts to a well defined subset of C++, complete with opaque pointers that would be the this pointers if C++ were used. Maybe someday the team will upgrade to C++ which is used by almost all Office applications today. The team has the strange habit of seriously designing a product before ever writing one line of code. What’s even stranger is that when they do finally write the code, it has very few bugs in it. My own approach is to dive in writing code and then use the well-known physicist approach to evaluating things called successive approximations. I can’t figure out everything in advance, so I try something and then gradually improve on it. Those guys figure out most of the design without writing any code.
LineServices 3.0は、Word 2000、Internet Explorer 5.0、RichEdit 3.0、およびPowerPoint 2000で開発および出荷されました。LineServicesは、欧文テキストに加えて、BiDiテキストのリバースオブジェクト、東アジア音声注釈のルビオブジェクト、縦中横(たてなかよこ)(「縦の水平」の日本語ですが、HIVよりも聞こえやすい)、割注(1行に2行)。私の観点から見ると、ルビはごく一部にすぎなかったので、LineServicesがルビを表示するこのような美しい仕事をすることができるのを見てとても興奮していました。最初のルビハンドラーはリック・セーラーによって開発されました。

LineServicesは、テキストレイアウトに関する多くのトリッキーな問題を処理し、必要なすべての情報についてクライアントを呼び出します。 LineServicesは、オペレーティングシステムを直接呼び出すことはなく、Cコンパイラを備えたオペレーティングシステムで実行できます。これは、C ++の明確に定義されたサブセットに相当するCで書かれており、C ++が使用された場合にthisポインターになる不透明ポインターを備えています。いつか、チームは今日ほとんどすべてのOfficeアプリケーションで使用されているC ++にアップグレードするでしょう。チームは、1行のコードを記述する前に製品を真剣に設計するという奇妙な習慣を持っています。さらに奇妙なのは、最終的にコードを記述したときに、バグがほとんどないことです。私自身のアプローチは、コードの記述に飛び込み、よく知られている物理学者のアプローチを使用して、逐次近似と呼ばれるものを評価することです。事前にすべてを把握することはできませんので、何かを試してから徐々に改善していきます。それらの人は、コードを書かずに設計のほとんどを理解します。
After Office 2000, Eliyezer & Co. embarked on Page/TableServices, which was natural. Eliyezer had started with characters in implementing TrueType, then progressed to lines with LineServices, and pages and tables were the next items on the layout hierarchy. To pull that off the team needed the help of another St. Petersburg mathematician, Anton Sukhanov, who had been a whiz kid in Russia winning various computer-science puzzle competitions. (Actually all these St. Petersburg people had been involved in math competitions). Anton enhanced the ruby handler among other things. The team developed PTS as it’s called and revised LineServices to work well with it.

About that time I simply couldn’t stand not having some math layout any longer, so in February 2001 I wrote a math handler for LineServices patterned after the ruby handler. While I was at it, I installed the ruby handler in a recursive way, so that you could have ruby objects nested like continued fractions. This upset the authors of the HTML ruby specification, since they said ruby was not supposed to be nested. Nevertheless the easiest way to display complex ruby is to use one level of nesting, but I digress. My simple math handler showed that LineServices could do mathematics, although my spacing was pretty awful. More precisely spacing was delegated to the user, who unfortunately seldom knows what correct spacing is.

Office 2000の後、Eliyezer&Co.はPage / TableServicesに乗り出しましたが、これは当然のことでした。 EliyezerはTrueTypeの実装で文字を使用し始め、LineServicesを使用して行に進み、ページとテーブルがレイアウト階層の次のアイテムになりました。それをチームから引き離すには、サンクトペテルブルクの別の数学者であるアントン・スカハノフの助けが必要でした。アントン・スカハノフは、ロシアでさまざまなコンピューターサイエンスパズルコンペで優勝しました。 (実際、これらのサンクトペテルブルクの人々はすべて数学のコンテストに参加していました)。アントンは、特にルビーハンドラーを強化しました。チームはPTSを開発し、LineServicesを呼び出して修正し、それと連携するように修正しました。

その頃、私はもはや数学レイアウトを持っていなかっただけで我慢できなかったので、2001年2月に、Rubyハンドラーを模したLineServicesの数学ハンドラーを作成しました。その間、ルビーハンドラーを再帰的にインストールしたため、連続した分数のようにネストされたルビーオブジェクトを持つことができました。これは、Rubyはネストされるべきではないと言っていたため、HTML ruby仕様の作者を混乱させました。それにもかかわらず、複雑なルビーを表示する最も簡単な方法は、1レベルのネストを使用することですが、私は回避します。私の単純な数学ハンドラは、LineServicesが数学を実行できることを示しましたが、私の間隔はかなりひどいものでした。より正確な間隔はユーザーに委任されましたが、ユーザーは残念ながら正しい間隔がほとんどわかりません。
A really cool thing about my LineServices math handler was that it convinced people that we had the infrastructure to layout math. Fortunately I didn’t appreciate at the time how hard it would be to lay out math as well as TeX. Else I might not have been able to persuade people to work on it. It seems that most things that are really worthwhile are way harder than you think they’ll be when you start working on them.

Of course, Eliyezer didn’t need any convincing; he and his team had designed LineServices so that it could be used to layout math. They just didn’t tell anyone! So after Office 2003 shipped, Eliyezer convinced Bill Gates and Steven Sinofsky that we should handle math layout. Chris Pratley helped by demoing OneNote for Bill and others using my simple formula autobuild up and LineServices math handler (OneNote uses RichEdit for editing and display of text at the paragraph level). Eliyezer started studying mathematical typography in earnest. He got his hands on every math typography book he could find, but by far the most influential and useful was Donald Knuth’s The TeXbook. After a few months Eliyezer enlisted the help of Victor and Andrei to design a math handler. Andrei had been working in the Windows font group, a background that would prove to be incredibly helpful on the math project. Andrei’s eyes for high-quality typography and his understanding of mathematics and TeX were crucial to the success of the project.

They’d often come into my office announcing they were planning to do this and that and I would sometimes protest that what they had in mind wasn’t workable from a client’s, e.g., RichEdit’s, point of view. So they’d revise the plan and eventually they had a math handler design that was compatible with my general approach and offered really high quality mathematical typography. While this was going on, I was developing the formula autobuildup input method using RichEdit and my old math handler, since the LineServices team hadn’t written any code yet.

LineServices数学ハンドラーの素晴らしい点は、数学をレイアウトするためのインフラストラクチャがあることを人々に納得させたことです。幸いなことに、TeXと同様に数学をレイアウトするのがどれほど難しいかは、当時は評価していませんでした。そうでなければ、人々がそれに取り組むように説得することができなかったかもしれません。本当にやりがいのあることのほとんどは、作業を開始したときに思うよりもはるかに難しいようです。

もちろん、エリエゼルは説得力を必要としませんでした。彼と彼のチームは、数学のレイアウトに使用できるようにLineServicesを設計しました。彼らは誰にも言わなかった!そのため、Office 2003の出荷後、EliyezerはBill GatesとSteven Sinofskyに、数学レイアウトを処理する必要があると確信させました。 Chris Pratleyは、簡単な数式の自動ビルドとLineServices数学ハンドラーを使用して、OneNoteをBillなどにデモするのを助けました(OneNoteは、段落レベルでのテキストの編集と表示にRichEditを使用しています)。エリエゼルは数学的タイポグラフィの研究を本格的に始めました。彼は見つけることができるすべての数学のタイポグラフィの本を手に入れましたが、最も影響力があり、有用なのはドナルドクヌースのThe TeXbookです。数ヵ月後、エリエゼルはビクターとアンドレイの助けを借りて数学ハンドラーを設計しました。 AndreiはWindowsのフォントグループで働いていました。この背景は数学プロジェクトで非常に役立つことが証明されていました。高品質のタイポグラフィに対するAndreiの目、および数学とTeXに対する彼の理解は、プロジェクトの成功に不可欠でした。

彼らは頻繁に私のオフィスに来て、これを行うことを計画していることを発表しました。そして、彼らが念頭に置いていたものがクライアントの視点、例えばRichEditの視点からは機能しないと抗議することがありました。そこで彼らは計画を修正し、最終的には私の一般的なアプローチと互換性のある数学ハンドラーの設計を行い、本当に高品質の数学タイポグラフィを提供しました。これが行われている間、LineServicesチームはまだコードを記述していないため、RichEditと古い数学ハンドラーを使用して数式の自動ビルド入力メソッドを開発していました。
Since TeX was so valuable in the design process, Eliyezer wanted to talk with Knuth, who happened to be an old friend of Eliyezer’s PhD advisor, Niklaus Wirth. Butler Lampson arranged a meeting in November, 2003 and Eliyezer, Andrei, Victor, and I had the good fortune to spend an extraordinary afternoon with Donald Knuth at his home on the Stanford University campus. Among many things, Donald showed us how he uses TeX to typeset his papers and books exactly the way he wants them to look. He applies special tweaks to achieve perfection, such as “smashing the descender” on one radicand to make a sum of square roots line up in a pleasing way and shimming characters to place them more beautifully in a formula. This interaction inspired us to think that we could automate some of Donald’s tweaks using special OpenType math tables and associated code, such as the “cut-ins” described in one of my earlier posts.

Eliyezer’s health gradually declined and he decided to retire after the initial math handler design. Sergey Genkin took over leadership of the math project. Sergey had been the lead developer on LineServices since the middle of 1998. One day in the summer of 2004, Sergey, Victor, and Andrei came into my office all excited and announced that they had been able to display the mathematical expression a+b! It was a real achievement, since the spacing on each side of the + was the desired 4/18th em and a lot of code had checked out correctly. One of the things they soon discovered was that LineServices alone was not adequate to layout high quality mathematics: you need PTS too!
TeXは設計プロセスにおいて非常に価値があったため、エリエゼルはクヌースと話をしたいと思っていました。クヌースはエリエゼルの博士課程アドバイザーであるニクラウスヴィルトの旧友でした。バトラーランプソンは2003年11月に会議を開催し、エリエゼル、アンドレイ、ビクター、そして私は幸運にも、スタンフォード大学キャンパスの自宅でドナルドクヌースと特別な午後を過ごすことができました。多くのことの中で、ドナルドは、TeXを使用して、論文や書籍の見た目を正確にタイプセットする方法を示しました。彼は、1つの基数で「ディセンダーを粉砕する」などの特別な調整を行って、平方根の合計が心地よい方法で並ぶようにし、キャラクターをシミングして式でより美しく配置します。このインタラクションにより、以前の投稿の1つで説明した「カットイン」などの特別なOpenType数学テーブルと関連コードを使用して、ドナルドの微調整の一部を自動化できると考えるようになりました。

Eliyezerの健康状態は次第に低下し、最初の数学ハンドラーの設計後に退職することにしました。セルゲイ・ゲンキンが数学プロジェクトのリーダーシップを引き継ぎました。 Sergeyは1998年の中頃からLineServicesのリード開発者でした。2004年の夏、Sergey、Victor、Andreiが私のオフィスに入って興奮し、数式a + bを表示できることを発表しました。 +の各側の間隔が望ましい4/18emであり、多くのコードが正しくチェックアウトされたため、これは実際の成果でした。彼らがすぐに発見したことの1つは、LineServicesだけでは高品質の数学をレイアウトするには不十分であったことです。PTSも必要です。
The problem is that in a computer window, unlike on a printed page, the layout width can vary substantially from one invocation to another. Hence a program has to be able to break equations automatically to accommodate different window widths. TeX delegates most equation breaking to the user, but that’s not a good option for browsers, slide shows and other windowed usages. Also in general you need PTS to handle placement of equation numbers. Yet another brilliant St. Petersburg mathematician had joined the PTS team, namely Alexander Vaschillo, and he implemented equation breaking, alignment and numbering. Also although LineServices had been designed with math in mind, it was necessary to generalize both its code and PTS’s code to give the math handlers the power they needed. Igor generalized LineServices and Anton generalized PTS accordingly. I brought in two shelves of my mathematics books, one shelf oriented toward theoretical physics and one toward pure math. Many of the books predated computer typesetting and a number were in languages other than English. It was very useful to have these books in refining our ideas.

At this point one can understand better how we came to use OMML (Office MathML) as a file format for mathematics rather than MathML. OMML is a pretty close representation of the LineServices/PTS (PTLS) math objects. These math objects were created after extensive study of mathematical typography, rather than by study of MathML. It’s natural to have a file format that mirrors one’s internal formats. In addition, we needed to be able to put any inline text and objects inside math zones. MathML cannot currently handle embedding of other XML namespaces, at least in a way that’s exposed to an XML parser.

Naturally there’s more to the math story such as the interactions with the Word team (who developed OMML, integrated the PTS and LineServices math handlers into Word 2007, and provided quantities of feedback), the math font teams responsible for the Cambria font collection and the math OpenType library, and the test teams. But those very important interactions have to wait for future posts.

問題は、印刷されたページとは異なり、コンピューターウィンドウでは、呼び出しごとにレイアウトの幅が大きく異なる場合があることです。したがって、プログラムは、異なるウィンドウ幅に対応するために自動的に方程式を破ることができなければなりません。 TeXは大部分の方程式をユーザーに委任しますが、これはブラウザー、スライドショー、およびその他のウィンドウを使用する用途には適していません。また、一般的に、方程式番号の配置を処理するにはPTSが必要です。さらに別の優秀なサンクトペテルブルクの数学者、すなわちAlexander VaschilloがPTSチームに加わり、彼は方程式の破り、整合、番号付けを実装しました。また、LineServicesは数学を念頭に置いて設計されていましたが、そのコードとPTSのコードの両方を一般化して、数学ハンドラーに必要な力を与える必要がありました。 IgorはLineServicesを一般化し、Antonはそれに応じてPTSを一般化しました。私は数学の本の2つの棚を持ち込みました。1つは理論物理学向けで、もう1つは純粋な数学向けです。本の多くはコンピューターの組版よりも前のものであり、その多くは英語以外の言語で書かれていました。私たちのアイデアを洗練させるのにこれらの本を持っていることはとても役に立ちました。

この時点で、数学のファイル形式としてMathMLではなくOMML(Office MathML)を使用するようになった経緯を理解できます。 OMMLは、LineServices / PTS(PTLS)数学オブジェクトの非常に近い表現です。これらの数学オブジェクトは、MathMLの研究ではなく、数学的タイポグラフィの広範な研究の後に作成されました。自分の内部形式を反映したファイル形式を持つのは自然なことです。さらに、数学ゾーン内にインラインテキストとオブジェクトを配置できる必要がありました。現在、MathMLは、少なくともXMLパーサーに公開されている方法で、他のXML名前空間の埋め込みを処理できません。

当然のことながら、Wordチーム(OMMLを開発し、PTSおよびLineServices数学ハンドラーをWord 2007に統合し、大量のフィードバックを提供した)、Cambriaフォントコレクションを担当する数学フォントチーム、数学OpenTypeライブラリ、およびテストチーム。しかし、これらの非常に重要な相互作用は、将来の投稿を待たなければなりません。

Word2010およびWord Starter

Office 2010 マクロの互換性 pdf

How can I enforce compatibility mode with word 2007 by setting parameters in a Word 2007 docx

Use Word 2010 to open documents created in earlier versions of Word
http://office.microsoft.com/en-us/word-help/use-word-2010-to-open-documents-created-in-earlier-versions-of-word-HA010368874.aspx
このリンクはここで公開されている。
If you are using Microsoft Office Word 2007 or Word 2010, you can open .docx or .docm files that were created in Word 2016 and 2013. However, a few newer features may not be supported in older versions or they may not be editable. For example, equations in later files are converted to images in earlier versions of Word, which can’t be edited.
Microsoft Office Word 2007またはWord 2010を使用している場合、Word 2016および2013で作成された.docxまたは.docmファイルを開くことができます。ただし、いくつかの新しい機能が古いバージョンでサポートされていないか、編集できない場合があります。 たとえば、後のファイルの数式は、以前のバージョンのWordの画像に変換されますが、編集することはできません。

Office 2010でWord2016またはWord2013で作成されたdocxを開くとき

Here’s a list of document elements in files created in Word 2013 and 2016 that work differently when they’re opened in Word 2010:


  • Apps for Office: The app doesn’t run, but it will be available if the document is upgraded to Word 2013 or 2016.
  • Web Video: The video is permanently converted to a picture with a hyperlink to the web video.
  • Comment replies and comments marked “done”: Comment replies become top-level individual comments, and all comments marked “done” appear as regular comments. If the comments are not changed, the original state will be restored if the document is upgraded in Word 2016 or 2013.
  • Headings that are collapsed by default: Headings are expanded by default; the property is permanently removed.
  • Content controls: Repeating section content controls are converted to static text; XML mappings on rich text content controls are permanently removed.
Word 2010 で文書を開くとカスタム XML マークアップが削除される
現象

次のような状況を想定します。次のいずれかのファイル形式を使用している文書を Microsoft Office Word 2010 で開こうとします。


  • Word 文書 (.docx)
  • Word マクロ有効文書 (.docm)
  • Word テンプレート (.dotx)
  • Word マクロ有効テンプレート (.dotm)
  • Word XML 文書 (.xml)
  • Word 2003 XML 文書 (.xml)

文書を開くと、文書内のすべてのカスタム XML マークアップが削除されています。

2010 年 1 月 10 日以降にマイクロソフトにより配布される Word のバージョンは、.docx、.docm、.dotx、.dotm、または .xml ファイル内に含まれている可能性があるカスタム XML マークアップを読み取りません。Word 2010 は、引き続きこれらのファイルを開くことができますが、カスタム XML マークアップは削除されます。

Word 文書内のカスタム XML マークアップは、文書内でテキストを囲むピンク色 (既定の色) のタグ名として表示されます。

カスタム XML マークアップの削除は、2009 年 12 月 22 日の米国における裁判所の裁定の結果です。マイクロソフトから Word 2010 を購入またはライセンス使用するお客様のソフトウェアには、特定のカスタム XML タグ付け実装が含まれていません。

Word の次の機能は、更新による影響を受けません。


  • コンテンツ コントロールは影響受けません。コンテンツ コントロールは、文書のコンテンツを構造化し、コンテンツをカスタム XML 部分にマッピングするための一般的な方法です。
  • Open XML 標準 (すべての ECMA および ISO のバージョン) は影響を受けません。
  • Word 97-2003 文書 (.doc) ファイル内に保存されているカスタム XML マークアップは影響を受けません。
  • リボン XML およびリボン機能拡張は影響を受けません。
  • カスタム XML 部分は影響を受けません。カスタム XML 部分の詳細については、次の MSDN Web サイトを参照してください。
  • http://msdn.microsoft.com/ja-jp/library/bb608618.aspx
  • Word オブジェクト モデルは影響を受けません。ただし、カスタム XML マークアップを処理する一部のオブジェクト モデルのメソッドは、異なる結果を返す場合があります。

    • TransformDocument メソッドは引き続き動作しますが、変換の結果の内部にあるカスタム XML マークアップは削除されます。
    • InsertXML メソッドは引き続き動作しますが、コンテンツが挿入される前に、存在するカスタム XML マークアップは削除されます。

注: カスタム XML マークアップを使用するソリューションの開発者である場合は、カスタム XML マークアップのサポートが使用できなくなったことに注意してください。カスタム XML マークアップを使用することで実装されるシナリオの多くは、コンテンツ コントロール、フォーム フィールド、ブックマークなどの Word 2007 および Word 2010 で使用可能な代替技術を使用して実装することができます。たとえば、以下の資料で説明されているように、開発者は、ブックマークなどの他のテクノロジに加えてコンテンツ コントロールを使用することで、構造化された文書を作成して構造化されたコンテンツに任意の値を割り当てるために使用できます。これらの任意の値を使用して、コンテンツの各部分に意味論的意味を割り当てることができます。

[バージョン間の互換性の変更]

(https://support.office.com/ja-jp/article/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E9%96%93%E3%81%AE%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%AE%E5%A4%89%E6%9B%B4-cb713c85-3145-4e83-a8b6-1e3227a4c059)
互換性チェックは、サポートされていない、または word 2007 または word 97-2003 形式で動作が異なる文書内の要素を一覧表示します。これらの機能の一部は、後で文書をWord 2010形式に変換した場合でも、完全に変更され、 Microsoft Word 2010要素に変換されることはありません。

互換性チェックでは、以前のバージョンの Word では動作が異なる要素の概要を確認してから、[続行] をクリックして文書を Word 97-2003 形式で保存するか、または [キャンセル] をクリックできます。

注: Microsoft Word Starter 2010 を使用している場合は、記載されている Word 2010 の機能がすべて Word Starter でサポートされるわけではないことに注意してください。Word Starter で使用できる機能の詳細については、「Word Starter で完全にサポートされる Word 機能」を参照してください。

各モードで使用できる機能
機能 97-2003 2007 2010
新しい段落番号の書式 No No Yes
新しい図形とテキスト ボックス No No Yes
文字の効果 No No Yes
表の代替テキスト No No Yes
OpenType の機能 No No Yes
共同編集の禁止 No No Yes
新しいワードアート効果 No No Yes
新しいコンテンツ コントロール No No Yes
テーマ No Yes Yes
メジャー/マイナー フォント No Yes Yes
移動履歴 No Yes Yes
余白タブ No Yes Yes
SmartArt グラフィック No Yes Yes
Office 2007のグラフ No Yes Yes
Open XML 埋め込みオブジェクト No Yes Yes
文書パーツ No Yes Yes
文献目録と引用文献 No Yes Yes
数式 No Yes Yes
相対位置で指定したテキスト ボックス No Yes Yes
以前のバージョンのワードアート Yes Yes No
以前のバージョンの図 Yes No No
以前のバージョンのグラフ Yes No No

[編注]大別すると3パターンある。注意すべきなのは図とグラフが以前のものが互換性がないという点。変わっているのは以前のバージョンのワードアートで2007までは互換性がある。No NO YesなのはWord 2010の新機能だからである。

機能の動作の変更
文書パーツ

文書パーツおよび定型句は、一部の情報が失われる場合があります。

テンプレートは、Word 2007 の文書パーツギャラリーに表示されるコンテンツを提供します。Word 97-2003 形式でテンプレートを保存すると、文書パーツギャラリーのコンテンツは、静的な定型句のエントリに完全に変換されます。後で文書をWord 2010形式に変換した場合でも、定型句を構成要素に戻すことはできません。

次の文書パーツ ギャラリーの内容は定型句に変換されます。



  • ヘッダー
  • フッター
  • ページ番号
  • テキスト ボックス
  • 数式
  • 目次
  • 文献目録
  • 透かし
  • ユーザー設定のギャラリー
引用文献と文献目録
  • 引用文献と文献目録は固定テキストに変換され、自動的には更新されなくなります。
  • Word 2010では、引用文献と文献目録は、ソースを変更したり、新しい文書スタイルを適用したりすると自動的に更新されます。
  • Word 2010文書を Word 97-2003 形式で保存すると、引用文献と文献目録は、自動的に更新されず、そのソースは利用できなくなります。
  • 文書をWord 2010に変換した後は、引用文献と文献目録は自動的に更新されません。引用文献と文献目録が自動的に更新されるようにするには、文書内のソースを再作成するか、[ソースマネージャー ] ダイアログボックスの現在のリストにコピーしてから、静的な引用文献と書誌を新しく作成したもの。
  • 引用文献と文献目録の詳細については、「文献目録を作成する」をご覧ください。
コンテンツ コントロール
  • コンテンツ コントロールは固定テキストに変換されます。
  • 文書を Word 97 –2003形式で保存すると、その文書をWord 2010ファイル形式に変換した場合でも、すべてのコンテンツコントロールがプレーンテキストに変換され、関連付けられているプロパティは完全に失われます。
  • たとえば、Word 97-2003 では、ドロップダウン リストの項目は表示されません。また、保護プロパティ (つまり、編集または削除できない領域) は適用されなくなり、ユーザーはコントロールの内容を削除および変更できるようになります。
埋め込みオブジェクト

この文書の埋め込みオブジェクトは、新しいバージョンの Office で作成されました。これを以前のバージョンの Word で編集することはできません。
Open XML 埋め込みオブジェクトを変換し、以前のバージョンの Word を使っているユーザーが、それらのオブジェクトを編集するようにできます。

注: Word スターターでは、オブジェクトの変換はサポートされていません。word スターターで使用できる機能の詳細については、「 word スターター機能のサポート」を参照してください。

埋め込まれた Excel 2010 オブジェクトを変換する
  1. 埋め込みオブジェクトをマウスの右ボタンでクリックします。
  2. [ワークシート オブジェクト] をポイントし、[変換] をクリックします。
  3. [変換] ダイアログ ボックスで、[変換形式] をクリックします。
  4. [オブジェクトの種類] の一覧で、[Microsoft Excel 97-2003 ワークシート] をクリックします。
埋め込まれた PowerPoint 2010 スライドオブジェクトを変換する
  1. 埋め込みオブジェクトをマウスの右ボタンでクリックします。
  2. [スライド オブジェクト] をポイントし、[変換] をクリックします。
  3. [変換] ダイアログ ボックスで、[変換形式] をクリックします。
  4. [オブジェクトの種類] の一覧で、[Microsoft PowerPoint 97-2003 スライド] をクリックします。
埋め込まれた PowerPoint 2010 プレゼンテーションオブジェクトを変換する
  1. 埋め込みオブジェクトをマウスの右ボタンでクリックします。
  2. [プレゼンテーション オブジェクト] をポイントし、[変換] をクリックします。
  3. [変換] ダイアログ ボックスで、[変換形式] をクリックします。
  4. [オブジェクトの種類] の一覧で、[Microsoft PowerPoint 97-2003 プレゼンテーション] をクリックします。
埋め込まれた Word 2010 オブジェクトを変換する

埋め込みオブジェクトを変換し、以前のバージョンの Word を使っているユーザーが、そのオブジェクトを編集するようにできます。

  1. 埋め込みオブジェクトをマウスの右ボタンでクリックします。
  2. [ドキュメント オブジェクト] をポイントし、[変換] をクリックします。
  3. [変換] ダイアログ ボックスで、[変換形式] をクリックします。
  4. [オブジェクトの種類] の一覧で、[Microsoft Word 97-2003 文書] をクリックします。b
数式

数式は画像に変換されます。文書を新しいファイル形式に変換するまで、数式を編集することはできません。数式にあるコメント、文末脚注、または脚注は保存時に完全に失われます。

文書を Word 97-2003 形式で保存すると、数式は編集できない画像に変換されます。ただし、後で文書をWord 2010ファイル形式に変換しても、以前のバージョンの数式の画像に変更が加えられていない場合は、数式がテキストになり、それらを編集することができます。

SmartArt グラフィック

SmartArt グラフィックは、以前のバージョンの Word では編集できない 1 つのオブジェクトに変更されます。
SmartArt グラフィックを含む文書を Word 97-2003 形式で保存すると、SmartArt グラフィックは静的な画像に変換されます。グラフィック内の文字列を編集したり、レイアウトを変更したり、一般的な外観を変更したりすることはできません。
後で文書をWord 2010形式に変換しても、以前のバージョンの画像に変更が加えられていない場合、グラフィックは SmartArt オブジェクトに戻されます。

余白タブ

整列タブは従来のタブに変換されます。

Office Word 2007 では、整列タブを使用して、文書の余白や文書内の領域を基準にして文字列を配置したり、余白を変更した場合に文字列の位置を調整したりします。

文書を Word 97-2003 形式で保存すると、整列タブは従来のタブに完全に置き換えられ、余白を変更しても自動的には調整されなくなります。整列タブを使用して複雑なレイアウトを作成していた場合は、タブの位置がずれて、文書の外観が変更される可能性があります。

テキスト ボックス

一部のテキスト ボックスの位置は変更されます。
テキストボックスでは、後で文書をWord 2010形式に変換した場合でも、縦方向に配置されているテキストまたは下部に揃えられた文字列は、完全に上に配置されます。

移動履歴

移動履歴は挿入と削除に変換されます。
文書を Word 97-2003 形式で保存した場合、追跡された移動は、削除と挿入の追跡となります。後で文書をWord 2010形式に変換すると、追跡された挿入と削除は変更履歴に戻されません。

新しい段落番号の書式

新しい段落番号の書式は、アラビア数字 (1、2、3、4、...)に変換されます。
新しい段落番号の形式 (0001、0002、0003、0004、...) で書式設定された段落は、標準のアラビア数字形式 (1、2、3、4、...) に変換されます。

新しい図形とテキスト ボックス

図形とテキスト ボックスは、この形式で使用可能な効果に変換されます。
Word 2010で作成された図形とテキストボックスは、以前のバージョンの Word では使用できない、ベベルや3-d 回転などのさまざまな新しい効果を使用して書式設定することができます。以前のバージョンの Word では、これらの効果はこれらのバージョンで使用できる効果に変換されます。

文字の効果

文字の効果は削除されます。
文字の効果は、ユーザー設定のスタイルを使用して適用したものでない限り、完全に削除されます。
ユーザー設定のスタイルを使用してテキスト効果を適用した場合、 Word 2010で文書をもう一度開いたときに再び表示されます。

表の代替テキスト

代替テキスト情報は表から削除されます。
文書が Web 上にある場合は、代替テキストが表示されます。Word 97-2003 形式では、表内の代替テキストは完全に削除されます。

共同編集の禁止

その文書で他の作成者が編集を行っている場所に関するすべての情報は、完全に削除されます。
共同編集の禁止は、それが適用された領域から削除され、文書全体で編集が可能になります。

ワードアート

テキストの効果は削除されます。
ワードアートは固定テキストに変換されます。

グラフと図

この文書の図には、選択されたファイル形式の行と列の制限の範囲外のセルにデータが含まれる場合があります。256 (IV) 列、65,536 行の範囲外にあるデータは保存されません。
一部のグラフと図は編集できない画像に変換されます。グラフまたは図が、Word 97-2003 でサポートされている行と列の範囲外にあるデータに基づいている場合、そのデータは失われます。

Word Starter の機能のサポート

Word Starter 2010
[編注]Word StarterとはWord 2010の広告付き簡易バージョン。

Microsoft Word Starter 2010 は、コンピューターに自動的に読み込まれる、Word の簡略化されたバージョンです。 Word Starter には、文書の作成と操作の基本的な機能がありますが、完全版の Word で提供される多彩な機能のセットはありません。 この記事では、Word Starter と完全版の Word との違いを示します。

Word Starter に用意されている機能よりも多彩な機能のセットが必要であると判断した場合は、Word Starter から Word へと簡単にアップグレードできます。[ホーム] タブの [購入する] をクリックし、オンライン販売店にアクセスして、Office をすぐに購入およびダウンロードすることができます。

文書の内容
Word の機能 Word Starter でのサポート状況
アドイン
使用できません。
アドインは、Word Starter ではインストールできません。Word アドイン機能を使用して作成された文書を開いた場合は、その文書の一部の機能がサポートされない可能性があります。
SmartArt グラフィック
作成できません。
SmartArt を含む文書を開いた場合は、テキストの編集や書式設定、図形の書式設定、および SmartArt グラフィック全体の切り取り、コピー、貼り付け、または削除を実行できます。
ブックマーク
作成作業には使用できません。
ブックマークを含む文書を開いた場合は、ブックマークへのリンクをクリックしてブックマークにジャンプできます。
相互参照
作成作業には使用できません。
相互参照を含む文書を開いた場合は、データを更新したり、相互参照を削除したりできます。
目次
作成作業には使用できません。
目次を含む文書を開いた場合は、データの更新、項目のコピーと貼り付け、テキストの書式設定、または目次の削除を実行できます。
脚注と文末脚注
作成作業には使用できません。
脚注と文末脚注を含む文書を開いた場合は、脚注または文末脚注をクリックして脚注や文末脚注にジャンプできます。また、脚注や文末脚注の切り取り、コピー、貼り付け、およびテキストの書式設定も実行できます。
図表番号
作成作業には使用できません。
図表番号を含む文書を開いた場合は、データを更新できます。また、索引項目の切り取り、コピー、貼り付け、およびテキストの書式設定も実行できます。
索引
作成作業には使用できません。
索引を含む文書を開いた場合は、データを更新できます。また、脚注や文末脚注の切り取り、コピー、貼り付け、およびテキストの書式設定も実行できます。
数式
作成作業には使用できません。
書式設定された数式を含む文書を開いた場合は、数式をインラインで表示し、編集することができます。また、数式の切り取り、コピー、貼り付け、削除、およびテキストの書式設定も実行できます。
図表目次
作成作業には使用できません。
図表目次を含む文書を開いた場合は、データを更新できます。また、項目の切り取り、コピー、貼り付け、およびテキストの書式設定も実行できます。
引用文献一覧
作成作業には使用できません。
引用文献一覧を含む文書を開いた場合は、データを更新できます。また、項目の切り取り、コピー、貼り付け、およびテキストの書式設定も実行できます。
引用文献と文献目録
作成作業には使用できません。
引用文献と文献目録を含む文書を開いた場合は、引用文献と出典を編集したり、データを更新したりできます。また、引用文献と出典の切り取り、コピー、貼り付け、およびテキストの書式設定も実行できます。
署名欄
作成できず、デジタル署名を使用できません。
有効な署名が入った署名欄を含む文書を開いた場合は、署名の詳細を表示できます。また、署名欄の切り取り、コピー、貼り付け、削除、またはサイズ変更も実行できます。
コンテンツ コントロール、定型句、フィールドを含むクイック パーツ
コンテンツ コントロールの作成はサポートされません。コンテンツ コントロールを含む文書を開いた場合は、コントロールのコンテンツの編集、またはコンテンツ コントロールの削除を実行できます。

クイック パーツ ギャラリー以外の方法では、特定の種類の定型句 (再利用可能なコンテンツ)、文書のプロパティ、フィールドを文書に挿入できます。 たとえば、Word Starter では、[挿入] タブのコマンドを使用して現在のページ番号や現在の日時を挿入できます。
オブジェクト オブジェクトはドラッグ アンド ドロップで文書に追加できます。オブジェクトの種類によっては画像として表示されるものもありますが、そうでない場合、オブジェクトを開くソフトウェアがコンピューターにインストールされていれば、[ファイル] タブをクリックしてから [開く] をクリックして表示できます。
コメント
作成および削除できません。
コメントを含む文書を開いた場合は、コメント内のテキストの書式設定および編集を実行できます。

次のファイル形式のファイルのサポート
  • .dsn
  • .mde
  • .accde
  • .odc
  • .udl
  • .wll

これらのファイルは、Word Starter で開くことはできません。
プログラム機能
Word 機能 Word Starter で利用できるか
クイック アクセス ツール バー クイック アクセス ツール バーは、リボンの上下に表示できますが、このバーのコマンドを追加または削除することはできません。
読み上げ この機能は、Word Starter では使用できません。 使用するにはクイック アクセス ツール バーをカスタマイズする必要がありますが、Word Starter ではサポートされていません。
リボンのカスタマイズ Word Starter のリボンはカスタマイズできませんが、Ctrl キーを押しながら F1 キーを押すことで最小化および展開を行うことができます。
変更履歴 変更履歴機能が有効になっているときに変更された文書を開いた場合、文書内に編集記号が表示されているのがわかります。Word Starter では、この変更に対して承認や拒否はできません。また、変更履歴を有効または無効にすることもできません。
文書パーツ オーガナイザー Word Starter では、文書パーツ オーガナイザーを使用して、表紙、ヘッダー、フッター、ページ番号、およびテキスト ボックス ギャラリーをカスタマイズできません。ギャラリー自体は、Word Starter で使用できます。ギャラリーには、インターネットに接続しているときに Office.com から使用できる項目が含まれています。
文書の保護 文書の保護を有効または無効にすることはできません。文書の保護が有効になっている文書を開いた場合、変更できるのは変更が許可されている箇所のみです。
言語パック 校正ツールはサポートされていますが、ユーザー インターフェイスやヘルプの言語は変更できません。
共有 文書を Windows Live OneDrive というネットワークの場所に保存するか、メールで送信することで、文書を共有できます。 ただし、Word Starter には、文書をインターネット FAX として送信するコマンドや文書を SharePoint サイトに保存するコマンドはありません。
Word2010:以前のバージョンの定型句を移行するには

以前のバージョン(2002/2003/2007)の定型句をWord2010~のクイックパーツとして移行する方法をご紹介します。

Word 2007/2010:「テンプレートとアドイン」はどこに – 教えて!HELPDESK
ワード2010基本講座:OpenTypeの機能を設定する

Opentype はWord2010から

以前のバージョンの Office アプリケーションで有効にした Visual Basic Editor の一部の設定は、Office 2010 で無効になっています。
Option Explicit やVBEの設定が変わる。VBA7を使うのが原因

エラーなど

Word2010で図形内のテキストが消えたり別の図形内に飛ぶv
Word 2010 で保存した文書を開くと、テキストボックスの中身が消えてしまうときがある
このようにエラーか仕様なのか設定に問題があるのか、非常に分かりづらいのがWordの特徴。互換モードが絡むとこのような現象が発生する。

Word 2007

Wordファイルがどのバージョンで作成されたか確認したい

docx形式ファイルはこの方法でチェックできる。

Office 2007 System マクロの互換性
英語 Word(doc) Binary Format

Specifies the Word (.doc) Binary File Format, which is the binary file format used by Microsoft Word 97, Microsoft Word 2000, Microsoft Word 2002, and Microsoft Office Word 2003.

英語 Word97-2007BinaryFileFormat(doc)Specification

Specifies the Word (.doc) Binary File Format, which is the binary file format used by Microsoft Word 97, Microsoft Word 2000, Microsoft Word 2002, and Microsoft Office Word 2003. This format is also supported by Microsoft Office Word 2007.
こちらがアーカイブ版で古い。しかし200ページしかない。上は500ページを超えている。

Microsoft Office 2007
Office Talk: 2007

Microsoft Officeは直接PDFファイルを作成できるって本当? dekiru.net

Microsoft Office 2010では、Word 2010、Excel 2010、PowerPoint 2010などから直接ファイルをPDF形式で保存できるようになりました。

SaveAsからpdfが作成できるのはoffice 2010 version 14から VBAのコードがここで注意が必要。
なお、このWord 2007のPDF作成用アドインはCnetにあるがCNET自体の信頼性がよくわからないのでやめたほうが良い。
https://download.cnet.com/2007-Microsoft-Office-Add-in-Microsoft-Save-as-XPS/3000-18483_4-10743787.html
Office文書をタダでPDFへ変換する方法
この記事でインストール方法が出ているが、Microsoftのページに接続する点が気になる。xps形式もアドインがからなのが意外とここからである。
2003以前はPrimoPdfというフリーウェアを使う方法が紹介されている。
https://dekiru.net/article/1669/
印刷のレイアウトが崩れるかもしれないが、最終的にはpdfに出力する方法もありうる。

Word でクイック パーツと定型句を使う

Word for Office 365 Word 2019 Word 2016 Word 2013 Word 2010 Word 2007
クイック パーツ ギャラリーを使って、定型句、文書プロパティ (タイトルや作成者など)、フィールドなどのコンテンツを作成、保存、再利用することができます。 これらの再利用可能なコンテンツ ブロックは、文書パーツとも呼ばれます。 定型句は、テキストやグラフィックスを格納する文書パーツの共通の種類です。 文書パーツ オーガナイザーを使って、文書パーツを検索または編集することができます。

ビジネス・ユーザーのためのOffice 2007新ファイル・フォーマット対策ガイド

互換モード、グループポリシーの対策はこのころから存在する。
またこの時にdoc形式はWord97-2003ファイル形式と呼ばれるようになった。

 従来の97-2003形式はマイクロソフト独自のバイナリ・フォーマットであり、第三者が直接読み書きすることは難しかったが、OpenXMLではこれが広く可能になる。かつて一部の政府機関が、私企業の独自フォーマットに文書が依存することを嫌い、Officeの利用を中止すると発表したことがあった。こうした動きが、OpenXMLが開発された理由の1つだといわれている。

 なお、Office 2007には複数のアプリケーションが含まれるが、新しいOpen XML形式のファイル・フォーマットに対応しているのは、Word/Excel/PowerPointのみである。Outlook 2007などは、従来のファイル・フォーマットをそのまま使っている。

Open a document in an earlier version of Word
Documents created in Word 2010

Here’s a list of document elements in files created in Word 2010 that work differently when they’re opened in Word 2007:


  • New numbering formats: Converted to Arabic numerals (1, 2, 3, 4, ...).
  • New shapes and text boxes: Converted to the effects available in Word 2007.
  • Text effects: Permanently removed unless the effects are applied by using a custom style. If they are applied by using the style, the text effects with shapes and text boxes are converted to effects available in Word 2007.
  • Effects will appear again if the document is reopened in Word 2010.
  • Content controls: Converted to static content.
  • Alternative text in tables: Removed.
  • OpenType features: Removed.
  • Blocking authors: Blocks applied to regions of the document are removed.
  • WordArt effects: Removed.
Word2007でWord2013及びWord2016で作成されたDocumentを開くとき

Here’s a list of document elements in files created in Word 2013 and 2016 that work differently when they’re opened in Word 2007:

 Word 2016 or 2013 document elements  When opened in Word 2007 
Apps for Office The app doesn’t run, but it will be available when the document’s upgraded in Word 2016 or 2013.
Web Video The video is permanently converted to a picture with a hyperlink to the web video.
Comment replies and comments marked “done” Comment replies become top-level individual comments, and all comments marked “done” will appear as regular comments. If the comments are not changed, the original state will be restored when the document is upgraded in Word 2016 or 2013.
Headings that are collapsed by default Headings will be expanded by default; the property is permanently removed.
New numbering formats:
Uppercase Turkish (Latin) {A, B, C, Ç, D, …}
Lowercase Turkish (Latin) {a, b, c, ç, d, …}
Uppercase Bulgarian (Cyrillic) {А,Б,В,Г,Д, …}
Uppercase Bulgarian (Cyrillic) {А,Б,В,Г,Д, …}
Lowercase Bulgarian (Cyrillic) {а, б, в, г, д, …}
Uppercase Greek {Α, Β, Γ, Δ, Ε, …}
Lowercase Greek {α, β, γ, δ, ε,…}
3-digit fixed format {001…NNN}
4-digit fixed format {0001…NNNN}
5-digit fixed format {00001…NNNNN}
Lists using the new numbering formats are converted to Arabic numerals (1, 2, 3, 4, ...).
New shape and text box effects (most of the effects in the Format Shape pane) Shapes and text boxes are converted to effects available in this format. If the shape isn’t changed, it will be restored when the document is upgraded in Word 2016 or 2013.
Text effects like shadow, reflection, glow, and 3-D Effects on text are permanently removed unless the effects are applied by using a custom style. If they are applied by using the style, the text effects will appear again when the document is reopened in Word 2016 or 2013.
Alternative text on tables Removed.
OpenType features such as ligatures, number forms, stylistic sets, and contextual alternates Removed.
Blocking authors Blocks applied to regions of the document are removed.
WordArt effects like Text Outline and Text Shadow Removed.
Content controls Repeating section content controls and check box content controls are converted to static text; XML mappings on rich text content controls are permanently removed.
Word2010で2007互換の文書を作成する方法-教えて!HELPDESK

「Word2010でWord2007互換モードの文書を作成したい」というご質問をいただきました。Word2010で2007互換に対応する4つの方法をご紹介します。

  1. Word2007テンプレート(.dotx)を 元に編集する(2007互換モードで作成可能)◎最も簡単に2007互換モードで編集できる
  2. 既定の形式をWord2007にする (グループポリシーで設定。2007互換モードで編集可能)◎全ての新規文書を2007互換モードにできる!
  3. Word2007互換のチェックをし互換性がない書式を確認(2007互換の文書は作成不可)◎互換モードにせずチェックのみ可能!
  4. レイアウトオプションでWord2007を指定(2007と同様のレイアウトを保持)◎書式やレイアウトをWord2007に合わせます。
■ 方法1:Word2007文書(テンプレート)を元に編集する

Word2007の新規テンプレートをWord2010で開いて編集する(2007文書を2010で開くと2007互換モードで開く)
★★Word2007テンプレート(.dotx)はこちらからダウンロードできます★★
※2007互換モードをデフォルトのファイル形式にしたいならWord2007のdotmテンプレートをNormal.dotmとしてもOK
https://support.microsoft.com/ja-jp/help/2548319/how-to-control-outlook-recurrence-patterns-using-group-policy
https://support.microsoft.com/ja-jp/help/936011

編注:この2007テンプレートは現在でも使用が可能である。

https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.office.interop.word.wdcompatibility?view=word-pia
Group Policyのリンクはなくなって現在は上のリンクらしい。
https://www.microsoft.com/en-us/download/details.aspx?id=49030
最新の2016は上記リンクである。

Home » Office 2007(オフィス2007)の使い方 » Office2007の互換性
2006年05月10日(水) 18時07分
Office 2007(オフィス2007)の使い方
Office2007の互換性
対象:Office2007
Office 2007は、ファイル形式がXMLになったり、ユーザーインターフェースが大きく変更されるなど、とても楽しみな反面、互換性も大いに気になっていたところです。

その互換性についての記事が公開されていました。
Office 2007の互換性問題を検証――理解しておくべきマクロやアドインへの影響

標準テンプレート (Normal.dotm) を変更する(
Word 2007)

Normal.dotm テンプレートは Microsoft Word を起動するたびに開きます。また、文書の基本的な外観を決定する既定のスタイルとカスタマイズが含まれます。
注: Normal.dotm に対する変更はすべて、今後作成される文書に適用されます。


  1. [ Microsoft Office ボタン Office ボタンの画像 をクリックし、[開く] をクリックします。
  2. 次のいずれかの操作を行います。

    • Windows Vista の場合:
    • [テンプレート] をクリックし、Normal.dotm ファイルをダブルクリックして開きます。
    • Microsoft Windows XP または Microsoft Windows Server 2003 の場合:
    • [ファイル名] の横の [テンプレート] をクリックします。


  3. [開く] ダイアログ ボックスにテンプレートがリストされない場合は、[ファイルの種類] ボックスの横の矢印をクリックし、[すべての Word テンプレート] をクリックします。
  4. 標準テンプレートを開きます。 既定のテンプレートで作業していることを確認するには、Word のタイトル バーに Normal.dotm が表示されていることを確認します。
  5. フォント、余白、間隔、およびその他の設定に変更を加えます。 文書の変更に使用したものと同じコマンドと機能を使用できますが、Normal.dotm に対する変更はすべて、今後作成される文書に適用されることに注意してださい。
  6. 完了したら、[ Microsoft Office ボタン Office ボタンの画像 をクリックし、[保存] をクリックします。


注: Normal.dotm が名前変更、破損、移動された場合、次回の Word の起動時に、新しいバージョン (元の既定の設定を使用) がなければ Word で自動的に作成されます。 新しいバージョンには、名前を変更または移動したバージョンに対して行ったカスタマイズは含まれません。
旧バージョンのファイルをOffice2007で開くArcive.is
ワードのトラブル解決法・対処法

Wordを利用していると、「画像が勝手に動いてしまう」「行間が広がってしまった」など、いろいろなトラブルが発生します。ただし、それが本当にトラブルなのか、Wordの正常な動作なのかは、初めのうちはなかなか判断できません。

たとえば、Wordではページとページの間にある余白を表示/非表示できます。しかし、そのことを知らないと、「あれ、余白がない!」と慌てることになりかねません。そんなときは、[F1]キーでヘルプを起動して、調べてみましょう。それでも分からないときは、ここで紹介している記事を参考にしてみてください。

たとえば、画像やイラストの位置がうまく調整できないときは「勝手に動く・消える絵の秘密(2003/2007)」-allaboutが参考になると思います。あるいは、水平線が削除できないときは「水平線が削除できない!」が役に立つでしょう。

この書き出しを見てWord2007が便利だと考える人間はいないと思う。
なぜ仕様なのかエラーなのかわからないというと、下記のOffice97Sr1のWord97を見てもらったらわかると思う。

WordWord2002-2007:スマートタグについて (全概要)

XPで鳴り物入りで導入されたスマートタグは2007まで。あとは廃止された。ただし、テキストボックスの図に挿入するとき、Excelのエラーなどのオートコレクトで表示される稲妻マークはスマートタグである。しかし個人名でいろいろな動作をするといった機能は削除されている。
Office の互換性に関する問題
このリンクはあとでも取り上げているが、
Office2013以降はスマート タグ機能は Word から削除されています。次のオブジェクト、メソッド、およびプロパティは推奨されません。アクセスすると実行時エラーが返されます。次のメソッドは表示されず、アクセスすると通知なしに失敗します。
これを使っている人は日本ではあまりいないと思うが、コードにSmartTagで検索して反応がアレば要注意であり、少なくともアップグレードした場合は削除したほうが良い。
Smart Tag in Word 2016
Microsoft Office for Developers>Visual Studio Tools for Office (VSTO)

Can someone confirm that custom Smart Tag VSTO functionality has been removed from Word 2016 - I know it was deprecated in Word 2010, but I have been unable to confirm that it has definitely been removed in 2016.
yes, this feature is removed after Word 2010.
誰かがカスタムスマートタグVSTO機能がWord 2016から削除されたことを確認できますか?Word 2010で非推奨になったことは知っていますが、2016年に確実に削除されたことを確認できませんでした。
2017年11月21日火曜日12:09 AM

yes, this feature is removed after Word 2010.
as an alternative you can use "Actions"..
so If Word Application is not have this feature anymore then with the help of VSTO , you also can not use this feature.
in other words, if you can perform some operations using user interface of Word application then in most of the cases you can also do it using VSTO or VBA.
but if you cannot use the feature using user interface then you also cannot use it by VSTO.
I try to find the official documentation about discontinuing this feature but I did not get any document that can have this information.
but I hope my description above is enough for you to understand

はい、この機能はWord 2010以降で削除されます。
別の方法として、「アクション」を使用できます。
そのため、VSTOを使用してWord Applicationにこの機能がない場合は、この機能も使用できません。
つまり、Wordアプリケーションのユーザーインターフェイスを使用して一部の操作を実行できる場合、ほとんどの場合、VSTOまたはVBAを使用して実行することもできます。
ただし、ユーザーインターフェイスを使用してこの機能を使用できない場合は、VSTOでも使用できません。
この機能の廃止に関する公式文書を見つけようとしましたが、この情報を含む文書は入手できませんでした。
しかし、上記の私の説明で理解していただければ幸いです。

このようにVisual Studioを使用してもだめである。またすべて削除されたわけでもないためこのような事になっているようだ。一応資料としては上記のテレメトリの表にあるが、そもそもテレメトリのログを見るという発想自体が通常はないだろう。
[SmartTag インターフェイス](https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.office.tools.word.smarttag?view=vsto-2017)

この型は、Word 2007 のプロジェクトでのみ使用されることを意図しています。 スマートタグは、Word 2010 では非推奨とされます。

たしかにここを見ても2007までで非推奨としか書いていない。本来ならテレメトリの記事をここに書いて置くべきだと思う。
またExcelも動くとはいえ削除されたものがある。Accessはまだ動くというバラバラさも混乱する。
The "Word 97-2003 & 6.0/95 - RTF (.doc)" file converter is missing in Word 2007「Word 97-2003 & 6.0/95 - RTF ( .doc)」のファイル コンバーターは、Word 2007 ではありません

元の英語版の記事を表示する: 925756

現象

You try to save a document in the Word 97-2003 & 6.0/95 - RTF (*.doc) file format in Microsoft Office Word 2007. However, the file converter is missing in the Save as type box of the Save or Save As dialog box.

You may have used the Word 97-2003 & 6.0/95 - RTF (.doc) file converter to save documents in earlier versions of Microsoft Word so that the documents could be opened in Microsoft Word 6.0 or in Microsoft Word 97.
文書を保存しようとする、 Word 97-2003 & 6.0/95 - RTF (
.doc)では、Microsoft Office Word 2007 ファイル形式です。ただし、ファイル コンバーターは、[保存] または [名前を付けて保存] ダイアログ ボックスの [ファイルの種類] ボックスで不足しています。

使用したことがありますが、 Word 97-2003 & 6.0/95 - RTF (* .doc)ドキュメントを Microsoft Word 6.0 または Microsoft Word 97 で開くことができるように、Microsoft Word の以前のバージョンで文書を保存するファイル コンバーターです。

原因

この問題の原因は、 Word 97-2003 & 6.0/95 - RTF (* .doc)ファイル コンバーターは、Word 2007 ではインストールされないためです。

注: ファイル コンバーターのファイル名は、Wrd6er32.cnv です。
解決策

この問題を解決するには、次の操作のいずれかの手順に従います。


  1. リッチ テキスト形 ( .rtf)ファイル形式で文書を保存します。
  2. [現在は無理]Microsoft Office ファイル コンバーター パックをインストールします。コンバーター パックをインストールすると、 Word 97-2003 & 6.0/95 - RTF (
  3. .doc)のファイル コンバーターがインストールされています。

Office ファイル コンバーター パックを入手するには、次のマイクロソフト Web サイトにアクセスしてください。
詳細

Office ファイル コンバーター パックの詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

212265追加のテキスト コンバーターとイメージ フィルターは、Microsoft Office ファイル コンバーター パックで使用可能です

Word 2003

Microsoft® Office 2003 EditionsOffice 97/2000 から Microsoft Office 2003 Editions への移行と互換性に関するユーザーズ ガイド
Word 2003 Object Model Documentation Help

Microsoft Office 97 からの新機能と強化機能
OFFICE文書サポート - hp.vector.co.jp
Word Viewer 2003 :Wordの文書をWindowsで表示・印刷する。
このサイトのリンクは大体デットリンクだが、Mougがあるのは驚き。
とりあえずMicrosoftがコンバーターとビューワー頼みだったことがよく分かる。
一番ひどいのはDocVerである。これは今は動かないと思うが、その機能とは、Microsoft Word で作製した *.doc 等のファイルの形式(Wordのヴァージョン:Ver6.0、95、97/98、2000、リッチテキスト)を調べるプログラムである。
https://www.vector.co.jp/soft/win95/writing/se0h75695.html
Microsoft Word で作製した *.doc 等のファイルの形式(Wordのヴァージョン:Ver6.0、95、97/98、2000、2002、リッチテキスト、テキスト?)を調べます。
なぜかdoc形式ファイルはリッチテキストも混在している。というかdoc自体がリッチテキストベースで互換性を確保していたらしい。現在のdocxはxmlベースだと考えられる。これが互換性がない原因である。
またdocx形式converterはcnetにあるけど、信頼性がない。
https://download.cnet.com/Office-Convert-Word-to-Pdf-Free/3000-18483_4-10900956.html
Handy Tips When Using Word 2003
Visual Studio Tools for Office を使用して Word 2003 に XML データをインポートする

Microsoft Office Word 2003 では、WordprocessingML と呼ばれる XML バージョンのファイル形式が導入されたことで、Word 開発者に新しい可能性が開かれました。テキスト、テーブル、リスト、スタイルなど、ドキュメントを完全に記述するために必要な項目を表す要素を使用してドキュメントを記述する XML ファイルつまり WordprocessingML ファイルとして、Word 文書を保存できるようになりました。バイナリ ファイル形式に制限されることがなくなったので、Word 文書をプログラムで操作する可能性が劇的に拡大します。

Wordのレイアウトが崩れるのがラインサービスが原因なら、ファイルの構造からエラーが生じるのはここだとわかる。つまりここで言っていることはRTF形式というタグ付きのテキストをバイナリ化したdoc形式ファイルをxml形式のdocにするということを意味しているからだ。

Word 2003 VBA(English)

このあたりからツリーをたどるとよい
Docs Microsoft Office 2003 Office 2003 VBA Language Reference Microsoft Word Visual Basic Reference What's New New Objects
Welcome to the Microsoft Office 2003 Edition VBA Language Reference

[Word 97 / 98 / 2000 / 2002 / 2003] ファイルをクリックしても開けません。

Word 6.0 for Macintosh
Word 6.0/95
Word 6.0/95 英語版
Word 97-2002 & 6.0/95 - RTF
Word for Windws 6.0
Word 2002 / Word 2003には、破損したWordファイルを修復する機能があります。

次の手>順で、ファイルの修復を実行し、開くことができるかどうかを確認します。

重要

Word 97 / Word 98 / Word 2000には、Wordファイルを修復する機能はありません。

Word 2002 というかOffice XP

Word 2016のトラストセンターのファイルの制限機能の設定ではWord XPと表記されている。どっちやねん。
マイクロソフト、Office XP 日本語版を公開、価格も発表 2001年4月

Office XPのファイル互換性は、Office 2000/Office 97と同じ。ただしAccessに関しては、デフォルトのファイル形式はAccess 2000と同じだが、Access 2002形式に変換可能。また、AccessとXMLは、データ形式としてXMLをサポートしている。

[編注]この記事が互換性がこれだけしかない。なぜならOfficeXPこそもっとも完成され、最も多機能なOfficeであったから。たくさんのツールとさらにVB6の組み合わせは数多くのツールを生み出した。
「Office XP」がいよいよ登場
XPで注意するのはこのスマートタグである。日本語ではあまり普及しなかったため、日本語のファイルは関係がないが、海外では使われていた。
MS Officeがなくても、無料で使えるLibreOfficeで表計算、プレゼン、ワープロが出来る!- 2014年12月1日 公開 / 2018年11月19日更新

Microsoft Word テンプレートの操作 - 基礎
イベントを使用して Microsoft Word を制御する

Word 2000

Word 2000でファイル保存時にWord 95形式を既定にする方法
Word97/98で作成した文書をWord2000で開くと全角スペースの幅が広い(Word 2000) moug
[半角文字と全角文字の文字幅を調整する] チェックボックスをオフにします。
Microsoft Office 2000 Developer オブジェクト モデル ガイド
オブジェクトモデル階層構造図実際の図は下記参照
Microsoft Word 2000

Word 97

Word 98はWikipedeiaによると日本語版と韓国語版だけが存在する。
マイクロソフト、Word98およびIME98を(1998年)3月13日に発売
Word97がいかに凶悪だったか、公式が削除しているページを発見した。
Windows 98よりペイントでJpegが扱えるようになる。またOffice97にグラフィックフィルタが実装
Microsoft Office 97 Service Release

  • INSERT キーで上書き入力モードの切り替えが可能になりました。
  • 英文法チェックを標準セットアップでセットアップするよう変更しました。
  • いくつかのグラフィックが、一部あるいは全体的に赤い "X" 印で表示される場合がある問題を修正しました。
  • [挿入] - [記号と特殊文字] ダイアログを選択したときに、ウムラウトなどの欧文フォントの記号が表示されない問題を修正しました。
  • [現在のページ] を選択して印刷するとページ違反が発生する場合がある問題を修正しました。
  • 見出しスタイル後の章番号を含んだ図表番号が1に振り直される問題を修正しました。
  • 文字数行数指定を既定値として設定すると、新規文書上で文字グリッド線 (垂直グリッド) が表示される問題を修正しました。
  • [ツール] - [オプション] - [互換性] タブで、チェック項目にチェックをつけて既定値に設定しても Normal テンプレートに反映されない問題を修正しました。
  • 文字列に対してフォントの設定を行っても、最近使用したフォント リストに追加されない場合がある問題を修正しました。
  • 特定の記号 (☆,○,△,※等) を行頭文字に使用した箇条書きを含む文書を Word 6.0/95 形式で保存し、Word 6.0/95 で開くと、行頭文字が正しく表示されない問題を修正しました。
  • 全角の中点 "・"と英数字が混在している Word 95 文書を Word 97 で開くと、レイアウトが変わる問題を修正しました。 Word 6.0/95 で作成した [注釈参照] (注釈を挿入したユーザーの頭文字) を Word 97 で開くと、その部分が文字化けしてしまう問題を修正しました。
  • リンクされているオブジェクトのサイズを変更したとき、オブジェクトのサイズを保持しない問題を修正しました。
  • ヘッダー、フッターを編集した新規文書に図を挿入するとページ違反が発生する場合がある問題を修正しました。
  • Word で作成した表をコピーして Excel に貼り付けると Word のセル内の段落記号を 1 つのセルとしてそれぞれ貼り付けられてしまう問題を修正しました。
  • [検索] コマンドで、下線を設定すると、 [次を検索] ボタンおよび [書式を削除] ボタンが選択できなくなる問題を修正しました。
  • 文字間隔を広くした場合、特定の全角記号の文字間隔が異なる問題を修正しました。
  • [記号と特殊文字] で 2 バイト文字を割り当てたショートカットキーを使用すると、四角になってしまう問題を修正しました。
  • 表の中にリンクした図を貼ってあるファイルをスクロールしたときに Word が停止する場合がある問題を修正しました。
  • 段落が改行のみの場合でも 今までの字下げインデントの変更を保持するようになりました。
  • [差し込み印刷] ツールバーの [エラーの確認] をクリックするとページ違反が発生する場合がある問題を修正しました。
  • Word 95 文書に設定している段落番号のスタイルを Word 97 上で変更するとページ違反が発生する場合がある問題を修正しました。
  • マウスを使って見出しのレベルを変更するとページ違反が発生する場合がある問題を修正しました。
  • アウトラインの番号が正しく表示されない場合がある問題を修正しました。
  • アウトラインで [レベルと対応づける見出しスタイル] から見出しスタイルを 6 つ以上設定すると、以前に対応づけた見出しスタイルが [(スタイルなし)] になってしまう問題を修正しました。
  • 作成した箇条書きや段落番号スタイルが RTF で保存すると失われる問題を修正しました。
  • フィールド コードを表示した状態で、[図の書式設定] の [配置] タブから [位置を固定しない] オプションをオフにすると、ページ違反が発生する問題を修正しました。
  • マスター文書編集中に行頭文字または段落番号書式を含む Word 95 ファイルを Word 97 で編集しようとすると「文書が壊れている可能性があります」というエラーが発生する場合がある問題を修正しました。
  • 箇条書き (段落番号) のオートフォーマットが働くと、文字化けが発生する場合がある問題を修正しました。
  • Word 95 上でトリミングした図を Word 97 で保存し直すと図の大きさが変更されてしまう問題を修正しました。
  • 宛名ラベル作成後、[宛名ラベル作成] の [文字書式] ダイアログ ボックスを表示させてキャンセルすると、差出人住所の位置が変更される問題を修正しました。
  • Netscape Navigator をお使いの場合のみ、Word 削除の際に障害が発生するセットアップ情報のエラーを修正しました。

Service Release では、ValuPack として次のツールが追加されています。
Microsoft Word 97 Converter (コンバータ)
Microsoft Word 97 Converter (以下、Word 97 コンバータ) は、Word 95、Word 6.0 (Windows 版) で Word 97 文書を開くための Word 97 文書変換プログラムです。Word 97 コンバータをこれらのバージョンの Word にセットアップすることにより、Word 97 の文書を直接開くことができるようになります。

Office95と97の変更点は何ですか?

フシギニウム発掘者さん2009/9/421:33:02
閲覧数:755 回答数:2
2009/9/520:50:52
「変更点」と言うよりもOffice の歴史みたいになってしまいました。
参考になさってください。
わたしの本棚には、マイクロソフトの化石があります(笑)
■93年「Office 1.0」
・WordとExcelが1パッケージ化 (\80,000)
■94年 Office 1.5、Office 4.2
■95年 Microsoft Office 4.3
・最後の16ビットバージョン
・Windows 3.1時代におけるオフィススイート
■95年 Microsoft Office 95 (Office 7)
・Windows 95と同時発売。Windows 95の登場に合わせ32ビット化。
・基本構成、インタフェースの大部分はMicrosoft Office 4.3と同等。
・を一気に拡大させ、現在まで続く独占的の礎を築いた。
・<Word 95、Excel 95、PowerPoint 95、Schedule+ で構成>
■97年 Microsoft Office 97 (Office 8)
・新ファイルフォーマットとしてバイナリ形式のフォーマットを採用(Office 2003まで継続)
・互換性を失ったことからユーザーに非常に大きな影響を及ぼした。
・「Officeアシスタント」機能が追加され、日本語関連の機能改善。
・日本独自のMicrosoft IME 98の発売とそれに伴うWord 98の発売。(Microsoft Office 97 Powered By Word 98)
・<95各ソフトが97にバージョンUPし、+Access 97、Outlook 97 追加、Schedule+は廃止>
■99年 Microsoft Office 2000 (Office 9)
・自動的にアプリケーションの不具合を検査し、必要に応じて修復処理を行う機能
・頻繁に使用するメニューを優先的に表示する機能、HTMLファイルの読み書き強化やネットワーク関連機能が強化。
・ユニバーサルフォント (Arial Unicode MS) 搭載など多言語環境への対応。
・<FrontPage 2000、Publisher 2000、PhotoDraw 2000が追加>
■01年 Microsoft Office XP (Office 10)
・煩わしい作業を短縮できる「作業ウィンドウ」機能
・Officeアシスタント不要でも記事検索ができる「質問バー」機能
・ネットワーク関連機能の強化が施された他、細かな点で改良、特にPowerPointで変更点が多い。
・日本ではライセンス認証機構の「プロダクトアクティベーション」が搭載。
■03年 the 2003 Microsoft Office system (Office 11)
・XMLへの対応強化とネットワーク関連機能を中心に強化。
・グループ内での共有機能に重点。
・<Office ファミリーに、InfoPathとOneNote、InterConnectが追加>

■07年 the 2007 Microsoft Office system (Office 12)
・メニューバーとツールバーを用いたWindows標準ユーザインタフェースを刷新、「リボン」と呼ばれるコマンドタブを採用
・デフォルトの保存形式がOpenXML形式に変更。

■10年 Office 2010 (Office 14)
・2010年上半期に提供開始される予定と2009年4月15日に米MS社から発表。
・2009年後半に「Exchange 2010」のみ提供され、その後、2010年の上半期に、「Office Webアプリケーション」、「SharePoint Server 2010」、「Visio 2010」、「Project 2010」を構成内に含んだものが提供される予定。
・初めて64ビット版も登場する見込み。
(なお、バージョン13は忌み番を考慮してスキップされました)。

Office 97試用レポート- pc.watch.impress.co.jp

■VBA関連
 今回のバージョンより、WordやPowerPointなどでもVBA(Visual BASICApplication Edition)が動作するようになった。従来、各アプリケーションでは、その内部で独自にVBAの編集を行なっていたが、今回より共通モジュールであるVisual BASIC Editorで編集が行えるようになった。これは、Visual BASIC Ver.5.0やベータテスト中のVBCCE(Visual BASIC Control Creation Edition)などでも採用されているインターフェースに準拠したものである。
 また、マクロウィルス対策として、設定によりマクロを含む文書ファイルを開いた時に実行前に警告を表示させることができるようになった。
■Word 97
■アシスタント
 また、Office 97の各アプリケーションに新しく装備された機能としては、Officeアシスタントが挙げられる。これは、オンラインヘルプ機能などを「アシスタント」と呼ばれるキャラクタが解説するもので、ヒントやヘルプの表示やエラーメッセージの表示機能なども持つ。アシスタントは、別ウィンドウで表示され、クリックかヘルプ(もしくはF1キー)で検索用の「吹き出し」が表示される。ヘルプ項目の検索は、従来の「アンサーウィザード」と似ているが、検索精度は向上しているようで、以前のように大量の項目が表示されることは少なくなっている。もっとも、吹き出し形式での表示であり、大量の項目の表示には向いていないため、制限がかけてあるのかもしれない。
[編注]これが伝説のイルカのキャラクター「カイル」君である。

●VBA対応

 今回のOfficeアプリケーションの中で、最も変更されたのがこのWordである。というのは、従来ワードは、マクロ言語としてWordBASICが使われていたが、今回ようやくVBA(Visual BASIC Application Edition)対応になったのである。Wordは、マイクロソフトのアプリケーションとして、始めてBASICによるマクロ機能が装備された のだが、それが仇となって、VBA対応が遅れていたのである。すでにWordBASICで書かれた膨大なマクロがユーザーの手元にあり、これとの互換性を保つ必要があったのだ。Excel 95では、2つのマクロを同時にサポートするという形で互換性を維持したが、Excelのマクロは、BASICともいえない奇妙なもの(なにせセルの中にマクロを入れていき、変数もマクロシート内のセルを使うというもの)だったので、どうしようもなかったからである。

 ところがWordBASICは、QuickBASICの流れを汲むBASICでありながら、マクロ特有の「カーソル移動やメニュー選択を代行する」形式であり、自動変換による移行はかなり大変な作業だったと想像される。そのためか、Windows 95登場に合わせた32bit化が最優先であった前バージョンでは、VBAとの統合が見送られていた。
 VBA対応でなかったということは、WordBASICの中でOLEオブジェクトの扱いがちゃんとできないとか、他のアプリケーションからの制御はWordBASICで行なわねばならないといった問題があったのである。
 Word 97では、従来のマクロ(これはテンプレートに保存されている)は、読み込みと同時にVBAに変換される。そのままテンプレートをセーブすれば、マクロはすべてVBAに変換されてセーブされる。

●ワープロ機能での変更点はやや小粒な印象

 ワードプロセッサとしては、今回ようやく縦書き表示が可能になったことが最も大きな点だろうか(前バージョンでは、文字が横向きで行の方向は横向きのままだった)。また、日本語の校正支援機能が編集中にも動作するようになった。従来は英単語のスペルチェックのみ可能だったが、それが日本語にも適用されたのである。また、資料によると日本語チェック時の構文解析などが強化されているとのこと。

 そのほかにもオートコレクトなどが強化されているようだが、おもしろい機能は、文章の要約である。(編注:現在のWordには存在しない)これは、文書を指定したサイズ(元の文書に対するパーセンテージなど)に要約するもので、新規に文書を作ったり、要約部分にラインマーカーを引くなどのオプションがある。自分で作成した文書の要約を作っても文書管理などに役立つが、Wordの文書になれば他から持ってきた文書の要約作成も可能なので、長い論文などをちょっとみたいなどいいうような場合にも利用できる。もっとも、かなり荒い処理で、書式情報(見出しや箇条書き)などは無視されて要約が作成されるので、おかしな要約が出来上がることもある。

 全体としては、WordBASIC以外の部分での変更点はちょっと小粒な感じである。もともと機能も多く、一度も使わずにバージョンアップが来てしまったような機能もあるぐらいなので、これ以上、細かい機能を追加してもあまり効果がないのかもしれない。
Microsoft Office 97 - Koji の勝手な批評


  • またまたファイルの変換がともなう

  • Office95 でもファイル変換が必要だったが、95 はまだ救いがある。 かなりの機能拡張がされているからだ。
    まあ、**Office97 でもかなり内部的な変更があっただろうが、95 形式で 保存したら .doc なのに中身が .rtf になってしまう WORD **や、相変わらず 前のバージョンままでの変更ができない ACCESS。
    全てを買いなおさそうという Microsoft のえげつないやり方が見えてくるようだ。
  • ADT のバージョンアップが無い

  • Access95 用に ADT for Win95 を買って使用しているのだが、Office97 になってから、 Office Developers Edition だとかいう奴になって、新しく買い足さなければいけない。 アップグレードは無いの?

    <総評>
     Office95 のままで、Office97 は使用したくないんだけど、Microsoft が Office95 の バグフィックスをこれからもしてくれるとは思えないし、仕事で使ってしまっているから バージョンアップしなければいけないってのが悲しい。
     Office95 の機能で十分満足していて、不具合らしい不具合にあたったことがない人はバージョンアップするのがもったいない。
    【過去の「95/98その他パーソナル製品のセキュリティ情報」】魚拓
    99年ごろのエラー情報。今と違ってめちゃくちゃであった。
    Computerworld 1997年4月28日
    Search Words > Microsoft office 95 office 97 differemce
    97に移行したくない理由

      以前のバージョンと互換性がない(43%)
    • 新機能なんていらない(43%)
    • 価格(40%)
    • 移行が複雑(40%)
    • 必須メモリが大きい(13%)

    [編注]移行したくない理由が20年以上変わってない。。。
    MS Office 95および97
    1997年11月11日、 Alan Lustigerにより報告
    Microsoft Office(95および97)のパスワード付きファイルの大きな穴のように見えるものを発見しました。
    ファイルは暗号化されますが(Office 95のファイル暗号化は笑えるほど弱いことはわかっています)、添付ファイルはそうではありません。したがって、Visioの画像またはExcelスプレッドシートをパスワード付きWordファイルに添付すると、それらはクリアテキストで保存されます。 ASCIIファイルビューアを使用して、これを簡単に確認できます。
    言うまでもなく、添付ファイルから多くの情報を取得できます。
    この問題は、WordとExcel、95と97の両方に存在します。

    「Windows 95 20周年同窓会」レポート

    Word 95

    Microsoft Word

    マイクロソフトはWindows 95の発売と同時期に、Word初の32ビット版[26]であるWord 6をWindows NT用としてOfficeと共に発売した。これはWord 6.0をそのまま移植したものだった。Word 95からはバージョンナンバーではなく年号を加えるようになった

    このため、Word95は 2013から完全に読めなくなっている

    Macintosh

    文書を保存する場合のファイル形式 Word 2016 for Mac Word for Mac 2011

    その他

    オプションの設定と対応するVBAコード(全部は操作できない)

    https://we-vba.info/word_vba/block8/

    Wordの禁則処理は正直インチキで字間が合わないのは当然

    image.png
    Wordの禁則処理は句読点ぶら下げと同時に行う。しかし、これはおかしい。
    ぶら下げを切っても禁則処理にならない。そもそも句読点が余白に行かない
    Wordのぶら下げと禁則処理を説明すると本来こうなる。
    まず1行に全角で5文字入るとする。この5文字は固定で文字の間を一切調整しない。
    句読点ぶら下げは以下のように余白に入る。これは禁則処理を高度で設定しても同じである。なぜなら句読点ぶら下げとは「禁則処理のうち、句読点だけを余白に出す」ことを意味しているためである。
    12345余余余
    あいうえお、
    さらに禁則処理と句読点のぶらさげが効いていれば、
    12345余余余
    あいうえお…。」
    ということにならなければならない。
    ところがWord2013の句読点ぶら下げは
    12345
    あいうえ
    お。

    となる。まったく句読点ぶら下げでも何でもないのである。できるとするサイトは文字間隔の調整を外していない、オートフォーマットが聞いている、文字がプロポーショナルフォントであることが原因で、それらを切断すると実は句読点ぶら下げは全く効いていない。禁則処理と一緒に設定しないと効かない、というのもあり得ない。単なるバグに過ぎない。
    Word 2013 の[互換モード]を外してはいけない 2014年08月05日 サポート係Kayoの「あなたのやらない世界」Wayback
    このブログは2013時代に気づいた人が書き記している記事である。
    しかし2016は互換モードにすることはできる。

Sub Word2010JapaneseMode()
'https://we-vba.info/word_vba/block8/
Const JapaneseNormalStyleName = "標準" 'For Japanese
Const JapaneseSystemStandardFont = "MS 明朝" 'For Japanese
Dim wDoc As Word.Document: Set wDoc = ActiveDocument
Dim i As Long
Dim ar, iar As Long
ar = Split("69,71,72,73", ",")
On Error Resume Next
With wDoc
For i = 1 To 73
.Compatibility(i) = False
Next
.SetCompatibilityMode wdWord2010
For i = LBound(ar) To UBound(ar)
.Compatibility(i) = True
Next i
End With
With Application.Options
.PasteSmartCutPaste = False '貼付け時に自動調整する(S)
.PasteAdjustWordSpacing = False '文と単語の間隔を自動的に調整する 勝手に半角ブランクが入らなくなる
.PasteAdjustParagraphSpacing = False '段落の間隔が自動的に調整
.PasteAdjustTableFormatting = False '[貼り付ける時に表の書式と配置を調整する]
.PasteSmartStyleBehavior = False
.PasteMergeFromPPT = True '[Microsoft PowerPoint から貼り付ける時に書式を取り込む]
.PasteMergeFromXL = True '[Microsoft Office Excel から貼り付ける時に書式を調整する] Falseにして置かないと図として貼り付けられる
.PasteMergeLists = True '[貼り付けたリストとその前後のリストをつなげる]
.AutoKeyboardSwitching = False '周囲に合わせてキーボードを切り替える
.IMEAutomaticControl = False 'IMEを自動的にOnOffする
.PasteFormatBetweenDocuments = wdKeepTextOnly 'Wordからメモ帳に貼り付けるとき、書式を保持しない
.PasteFormatFromExternalSource = wdKeepTextOnly 'ブラウザから貼り付けるときHTMLによる書式を自動的に削除する
.SaveNormalPrompt = True
.PrintHiddenText = True
.INSKeyForOvertype = False
.INSKeyForPaste = False
.Overtype = False
.ShowDevTools = True
.ShowControlCharacters = True
.ShowMenuFloaties = True
.UseCharacterUnit = True
.ApplyFarEastFontsToAscii = True
End With
With wDoc
.DoNotEmbedSystemFonts = True 'システムフォントは埋め込まない MS明朝ならOK
.Compatibility(wdSuppressSpBfAfterPgBrk) = True
.Compatibility(wdExpandShiftReturn) = True
.Compatibility(wdUsePrinterMetrics) = True
.Compatibility(wdNoLeading) = False
.MakeCompatibilityDefault
.KerningByAlgorithm = False 'Trueなら半角英字と区切り文字をカーニング
.JustificationMode = wdJustificationModeExpand '句読点の間を詰めない
.EmbedTrueTypeFonts = .EmbedTrueTypeFonts
wDoc.JustificationMode = wdJustificationModeExpand

End With
'wDoc.AttachedTemplate.LanguageID = wdJapanese
Application.CheckLanguage = False
Selection.Style = wDoc.Styles(JapaneseNormalStyleName)
With wDoc.Styles(JapaneseNormalStyleName).Font
.NameFarEast = JapaneseSystemStandardFont
.NameAscii = JapaneseSystemStandardFont
.NameOther = JapaneseSystemStandardFont
.Name = JapaneseSystemStandardFont
.Size = .Size
.Bold = .Bold
.Italic = .Italic
.Underline = .Underline
.UnderlineColor = .UnderlineColor
.StrikeThrough = .StrikeThrough
.DoubleStrikeThrough = .DoubleStrikeThrough
.Outline = .Outline
.Emboss = .Emboss
.Shadow = .Shadow
.Hidden = .Hidden
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Scaling = 100
.Kerning = 0
.Animation = wdAnimationNone
.DisableCharacterSpaceGrid = False
.EmphasisMark = wdEmphasisMarkNone
.Ligatures = wdLigaturesNone
.NumberSpacing = wdNumberSpacingDefault
.NumberForm = wdNumberFormDefault
.StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0
End With
With wDoc.Styles(JapaneseNormalStyleName).ParagraphFormat
.LeftIndent = Application.MillimetersToPoints(0)
.RightIndent = Application.MillimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = False
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = Application.MillimetersToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
.CollapsedByDefault = False
.AutoAdjustRightIndent = True
.DisableLineHeightGrid = False
.FarEastLineBreakControl = True
.WordWrap = False 'False 英単語の途中で改行する。Falseにしないと長いUR(http://www)は勝手に改行する。
.HangingPunctuation = True
.HalfWidthPunctuationOnTopOfLine = False
.AddSpaceBetweenFarEastAndAlpha = False
.AddSpaceBetweenFarEastAndDigit = False
.BaseLineAlignment = wdBaselineAlignAuto
End With
'日本語設定
With wDoc.Styles(JapaneseNormalStyleName)
.NoSpaceBetweenParagraphsOfSameStyle = False
.LanguageID = wdJapanese
.NoProofing = False
.AutomaticallyUpdate = False
.BaseStyle = ""
.NextParagraphStyle = JapaneseNormalStyleName
End With
'AutoCorrect Option for Japanese Language
With Application.AutoCorrect
.CorrectInitialCaps = True
.CorrectSentenceCaps = True
.CorrectDays = True
.CorrectCapsLock = True
.ReplaceText = True
.ReplaceTextFromSpellingChecker = True
.CorrectKeyboardSetting = False
.DisplayAutoCorrectOptions = True
.CorrectTableCells = False
End With
With Application.Options
.AutoFormatApplyHeadings = True
.AutoFormatApplyLists = False
.AutoFormatApplyBulletedLists = False
.AutoFormatApplyOtherParas = True
.AutoFormatReplaceQuotes = False
.AutoFormatReplaceSymbols = False
.AutoFormatReplaceOrdinals = True
.AutoFormatReplaceFractions = False
.AutoFormatReplacePlainTextEmphasis = False
.AutoFormatReplaceHyperlinks = False
.AutoFormatPreserveStyles = False
.AutoFormatPlainTextWordMail = True
.AutoFormatApplyFirstIndents = False
.AutoFormatMatchParentheses = False
.AutoFormatDeleteAutoSpaces = False
.AutoFormatReplaceFarEastDashes = False
.LabelSmartTags = False
.CheckGrammarAsYouType = False
.CheckGrammarWithSpelling = False
.ContextualSpeller = False
.CheckSpellingAsYouType = False
End With
End Sub

禁則処理の設定方法は?このようにぶら下げというのはどういう意味なのかは一応基準がある。勝手に変えてはいけない。
字数が多ければ、文字間を勝手に小さくして句読点を追い込むが、それをやると下の行の文字と微妙にずれてしまう。
このように字数を5文字にしてひらがなにすると、逃げようがない。
つまりワードの禁則処理は全く禁則処理ではない。
本来の禁則処理は、禁則処理用の文字エリアを行末に設けてあり、禁則文字が着たら、そこに文字を入れるのが本当だ。(異論は認めない)そもそも句読点がぶら下がるどころかひらがながぶら下がっている。おかげで5文字に設定しているのに4文字しか入らない。これはワードプロセッサーとしては致命的な弱点であり、インチキだと言ってよい。禁則処理で字間が調整されることがなく5文字入らない。行末に余裕があっても両端揃えでも無理である。
Word2010-2016:「句読点のぶら下げを行う」とは?
気づいている人は気づいていたが、挙動が変わったと思っていたようだ。だが違う。これはバグだ。そもそも句読点が余白に行かない時点でおかしいし、禁則処理とは関係がないからだ。
句読点のぶら下げを設定し,はみ出させる/はみ出させない
この説明は誤りです。なぜならこの設定は両端ぞろえで、英語と数字の文字間隔を調整するにチェックが入っています。これは間違いです。

Wordで勝手に全角(日本語入力)に変換されてしまう

日本語版のMicrosoft Wordで英文(すべて半角:言語は英語で)のメールを書き、それをHotmailやgooメールのメール作成画面にコピー&ペーストすると、can'tなどの「'」だけ(←なんていうんでしたっけ?)勝手に全角に変換されてしまいます。
Word2010-2016:文字間隔の自動調整について( 総まとめ)
Word : 禁則処理が適用されない(できない)場合の解決法
【コード】「貼り付け時に自動調整する」をオフにして貼り付けるWordマクロ
ちなみにこのAutoformat AutoCorrectはアメリカを意識しているはずだが、こんな細かいのをどうやっているのか調べてみたところ
Word 2013で既存のドキュメントを自動的にフォーマットする方法
なんとクィックアクセスツールバーに登録して切り替えているのだという。
なお、英語ではオートフォーマットと書いているが、日本語のワードではオートコレクトである。
2013と2016の違い?しかし2016でもリボンにないコマンドからみると、オートフォーマットと記載している。それを起動するとオートコレクトなのである。わけがわからないよ。
AutoFormatting_a_Document.html (Word 97 -2002)
やっぱり邪魔っぽようだ。
ワード(word)のお節介「入力オートフォーマット」をストップ!
Wordで引用符が全角になる問題

Word.Application.Options.Defaltfilepath list

Options.DefaultFilePath[WdDefaultFilePath] Property
書き換えることが可能
書き換えた場合、Wordを再起動することなく、直ちに変更される。
ただし、変更するときは一度=””で空白にしてから登録する

Application.Options.DefaultFilePath(x)=””
Application.Options.DefaultFilePath(x)= Environ(« USERPROFILE ) & « \documents\eord « 

定数はこちらだが、例によってIteropとVBAと2つヒットする。基本的にVBAを参照する。定数の値は翻訳でメチャクチャなことが多いので、必ず英語にして確認する。

WdDefaultFilePath 列挙 (Word)
[WdDefaultFilePath Enum (Microsoft.Office.Interop.Word]](https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.office.interop.word.wddefaultfilepath?view=word-pia)

Name Value Description 説明 実際のPath
wdDocumentsPath 0 Documents path. 文書のパス %USERPROFILE%\documents
wdPicturesPath 1 Pictures path. 図のパス %ProgramFiles%\microsoft office\root\office16
wdUserTemplatesPath 2 User templates path. ユーザー テンプレートのパス %APPDATA%\microsoft\templates
wdWorkgroupTemplatesPath 3 Workgroup templates path. ワークグループ テンプレートのパス システム管理者が設定
wdUserOptionsPath 4 User Options path. ユーザー オプションのパス %USERPROFILE%\documents
wdAutoRecoverPath 5 Path for Auto Recover files. 自動バックアップ ファイルのパス %APPDATA%\microsoft\word
wdToolsPath 6 Tools path. ツールのパス %ProgramFiles%\microsoft office\root\office16
wdTutorialPath 7 Tutorial path. 学習ソフトウェアのパス おそらくEducationで設定されるパス
wdStartupPath 8 Startup path. スタートアップのパス %APPDATA%\microsoft\word\startup
wdProgramPath 9 Program path. プログラムのパス %ProgramFiles%\microsoft office\root\office16
wdGraphicsFiltersPath 10 Graphics filters path. グラフィック フィルターのパス %CommonProgramFiles%\microsoft shared
wdTextConvertersPath 11 Text converters path. 文書コンバーターのパス %CommonProgramFiles%\microsoft shared\textconv
wdProofingToolsPath 12 Proofing tools path. 校正ツールのパス %CommonProgramFiles%\microsoft shared
wdTempFilePath 13 Temp file path. 一時ファイルのパス %LOCALAPPDATA%\temp
wdCurrentFolderPath 14 Current folder path. 現在のフォルダー パス %USERPROFILE%\documents
wdStyleGalleryPath 15 Style Gallery path. テンプレートのパス %APPDATA%\microsoft\templates
wdBorderArtPath 19 Border art path. ページ罫線の絵柄のパス %ProgramFiles%\microsoft office\root\office16\borders

%Programfile%は32bitなら32bit 64bitなら64bitのフォルダを呼び出す
15-18番は定数そのものが存在しない。

出現方法はまず環境変数の配列を作成し、オプションのリストを回すというもの
念のため15-18も見る。結果としては空白であり、値が隠されているかどうかは不明だった。

Sub WordDefaultFilePathList()
' For Word 2019 and earlier '環境変数が19までか自身がないので Word2019までを適用範囲とする
Dim i As Long, iArray As Long
Dim buf As String, StrPath As String
Dim KeyAr(), ValueAr()
On Error Resume Next
For i = 1 To 44
buf = ""
buf = Environ(i)
If buf <> "" Then
ReDim Preserve KeyAr(1 To i)
ReDim Preserve ValueAr(1 To i)
KeyAr(i) = Mid(buf, InStr(buf, "=") + 1, Len(buf))
ValueAr(i) = "%" & Left(buf, InStr(buf, "=") - 1) & "%\"
oDic.Add "%" & Left(buf, InStr(buf, "=") - 1) & "%\", Mid(buf, InStr(buf, "=") + 1, Len(buf))
End If
Next
For i = 0 To 19
StrPath = Application.Options.DefaultFilePath(i)
For iArray = 1 To UBound(KeyAr)
'Driveletter,HomePathは他の環境変数があることが通常なので、変換しない。もし実行するなら一旦変換したあとに付け加える
If ValueAr(iArray) <> "%HOMEPATH%\" Then
If ValueAr(iArray) <> "%HOMEDRIVE%\" Then
If ValueAr(iArray) <> "%SystemDrive%\" Then
' Point1 バックスラッシュ(日本語は円マーク)の重複を削る
' Point2 users usernameはUSERPROFILEに書き換える
StrPath = _ 
Replace( _
Replace( _
Replace(StrPath, KeyAr(iArray), ValueAr(iArray), 1, 1, vbTextCompare), _
  "\\", "\", 1, -1, vbTextCompare), _
  "c:\users\%USERNAME%\", "%USERPROFILE%\", 1, -1, vbTextCompare)
End If
End If
End If
Next
Debug.Print i, StrPath
Next
End Sub

詳細設定一覧

編集オプション (詳細設定)

4桁のLanguage ID Local ID言語識別子

Office 2016 の言語識別子()Language identifiersと OptionState Id の値

Office 2013 2016 の言語識別子と OptionState ID 値
Office 2016 はさまざまな言語で利用できます。 国際対応の設定では、複数の言語バージョンの Office 2016 を1つのインストールプロセスで展開できます。 セットアップでは、言語に依存しないコア製品と1つ以上の言語固有のパッケージを組み合わせて、完全な製品を作成します。
ソースメディアでは、言語固有のパッケージは個別のフォルダーにまとめられています。 各フォルダー名には、" ll-cc" という形式で、言語タグが追加されています。 このタグは、言語とカルチャを識別します。 たとえば、米国英語のフォルダーは、フォルダー名拡張子がen-usによって識別されます。 言語タグは、ネットワークインストールポイントにコピーするフォルダーを決定するのに役立ちます。
完全にローカライズされたバージョンの Office 2016 製品に含まれている言語フォルダーは、特定の言語の Microsoft Office 2016 言語パックに含まれている言語フォルダーと同じです。 たとえば、同じ Outlook.ar-sa フォルダーは、アラビア語版の Office 2016、アラビア語版の Outlook 2016、Office 2016 言語パック (アラビア語) で使用されています。
注意:一部の手順では、言語タグは、"言語 Id" としても参照され、使用されます。
注意:Language tags are also referred to and used as "language IDs" for some procedures.

[編注] LanguateIDとか言語IDというときは言語タグを指している時がある。たとえば、Officeのプログラムファイルの場所は場所はLanguageIDと言っていて英語なら1033を使うが、en-usを使う時があるということ。Root以下のフォルダ名で使用されている。

Office 2016 では、次の表に記載されているすべての言語でローカライズされたバージョンを提供しています。 言語固有のコンポーネントのフォルダーは、表に記載されている言語タグによって識別されます。 Windows オペレーティングシステムでは、ロケール識別子 (Lcid) を使って Windows レジストリの言語を識別します。
ここに記載されている完全にローカライズされた言語に加えて、Office 2016 には、言語固有のコンポーネントの一部が含まれており、論理的な親言語と共にインストールされるように設計されている言語インターフェイスパック (Lip) が用意されています。 LIP 言語でローカライズされていない要素は、親言語で表示されます。 Lip の詳細については、「言語インターフェイスパック」を参照してください。
日本語表示にしていると英語がja-jpになるので要注意である。最近は切り替えスィッチがあるため、これをやらなくても良い場合があり、このサイトもそうだが、このja-jpがURL名でも使われている場合、ja-jpをen-usに書き換えると英語版になる。これは言語タグを使っている例である。

言語 地理的な領域 Language Tags 言語タグ(ll-cc)1 LCID
アラビア語 サウジアラビア ar-sa 1025
ブルガリア語 ブルガリア bg-bg 1026
中国語 (簡体字) 中華人民共和国 zh-cn 2052
中国語 台湾 zh-tw 1028
クロアチア語 Croatia hr-hr 1050
チェコ語 チェコ共和国 cs-cz 1029
デンマーク語 デンマーク da-dk 1030
オランダ語 オランダ nl-nl 1043
英語 米国 en-us 1033
エストニア語 エストニア et-ee 1061
フィンランド語 フィンランド fi-fi 1035
フランス語 フランス fr-fr 1036
ドイツ語 ドイツ de-de 1031
ギリシャ語 ギリシャ el-gr 1032
ヘブライ語 イスラエル he-il 1037
ヒンディー語 インド hi-in 1081
ハンガリー語 ハンガリー hu-hu 1038
インドネシア語 Indonesia id-id 1057
イタリア語 イタリア it-it 1040
日本語 日本 ja-jp 1041
カザフ語 カザフスタン kk-kz 1087
韓国語 韓国 ko-kr 1042
ラトビア語 ラトビア lv-lv 1062
リトアニア語 Lithuania lt-lt 1063
マレー語 マレーシア ms-my 1086
ノルウェー語 (ブークモール) ノルウェー nb-no 1044
ポーランド語 ポーランド pl-pl 1045
ポルトガル語 ブラジル pt-br 1046
ポルトガル語 Portugal pt-pt 2070
ルーマニア語 ルーマニア ro-ro 1048
ロシア語 ロシア ru-ru 1049
セルビア語 (ラテン) セルビア sr-latn-rs 2074
スロバキア語 スロバキア sk-sk 1051
スロベニア語 スロベニア sl-si 1060
スペイン語 スペイン es-es 3082
スウェーデン語 スウェーデン sv-se 1053
タイ語 タイ th-th 1054
トルコ語 トルコ tr-tr 1055
ウクライナ語 ウクライナ語 uk-ua 1058
ベトナム語 Vietnam vi-vn 1066

IMEのユーザー辞書

これはWordそのものというかOfficeに直接関係ないが、ユーザー辞書を引き継ぐのはとても重要。なぜかこれを忘れる人が多い。
Windows10 - Microsoft IME - 学習情報をファイルに保存・削除
Google日本語入力のオフィシャルな移行について
学習情報を引き継ぐことができる。
というかShimejiで無断で情報を送信しているというのはネットで炎上しているが、どこからどうみてもGoogleもMicrosoftも情報を収集している(だからプライベートモードがある)
その割には全く効率は上がらないので、AIも大して役立たないことがよくわかる。
Microsoft Office IME 2010で自動的に学習した単語をユーザー辞書から削除する方法
[]

文字の効果を追加または削除する

WdDisableFeaturesIntroducedAfter

アニメーションを削除するWordマクロ
2007以降のWordでアニメーションの設定はできないのですが、2003以前のWordでアニメーションを設定したファイルを、Word 2010・2007で開くとアニメーションが動いてしまいます!(Word 2013ではアニメーションは動かなくなっていますが)
Word2010でフォントのアニメーションはどうやって設定しますか。
Word 2010まではあった裏技も2013以降は使えなくなっているため、削除したほうが良い。
しかし、この機能は印刷するということを前提としていないDocumentとして非常に重要な機能であり、これをなくすというのはあり得ないと思う。
また、こうした機能は互換モードにしても有効にならず、さらに2013以降では動きもしない。おそらく互換のためにとってあるのだろうが、2013では動かず、2003で見れば動くという状態である。そういうことをするから2003以前の方ができがいいのである。
ただあまりタイミングなどを調整できず、そうした機能はPowerPointが担っている。
パワーポイントのアニメーションを点滅させる方法

Document.JustificationMode property

Sub day20200323()
' Option 文字体裁
ActiveDocument.JustificationMode = wdJustificationModeCompressKana
End Sub

WdJustificationMode enumeration (Word)

Name Value Description 補足
wdJustificationModeCompress 1 Compress 句読点を詰める
wdJustificationModeCompressKana 2 Compress, using rules of the kana syllabaries, Hiragana and Katakana. 句読点とかなを詰める
wdJustificationModeExpand 0 Expand 広げるとなっているが日本語は「間隔を詰めない」

余計な動きをさせないためには0を選択する。

AutoCorrectEntries

AutoCorrectで訂正する項目は以下のマクロで一覧を取り出すことができる。ただしユーロ記号、トレードマーク記号は出力されない。
これはWordで文字を入力しているときに操作性の違いの影響を与える可能性がある。
また、このオブジェクトはおそらくOfficeのオブジェクトらしく、Application.AutoCorrectEntoriesやDocument(s).AutocorrectEntriesではなく、単にAutoCorrectEntoriesであり、このコレクションを Setで変数に代入できない。コードで言うと、 Dim wdAutoCorrectEntories As AutoCollectEntries : Set wdAutoCorrectEntries = Application.AutoCorrectEntries というのは失敗する。

Sub DebugPrintAutocorrectEntries()
Dim i As Long
Dim wAutoCEs As AutoCorrectEntries, wAutoCE As AutoCorrectEntry
Dim blnMatch As Boolean
Dim intResponse As Integer
Dim MaxCnt As Integer
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim TS
Const ForWriting = 8
Set TS = FSO.OpenTextFile(Application.Options.DefaultFilePath(0) & "\WordAutoCorrectList.txt", ForWriting, True, 0)
MaxCnt = AutoCorrect.Entries.Count
On Error Resume Next
For i = 1 To MaxCnt
Set wAutoCE = AutoCorrect.Entries.Item(i)
TS.WriteLine i & vbTab & wAutoCE.Name & vbTab & wAutoCE.Value
If Err.Number <> 0 Then TS.WriteLine i & vbTab & wAutoCE.Name & vbTab _
& Err.Number & vbTab & Err.Description: Err.Clear
Next
TS.Close
Set TS = Nothing
Set FSO = Nothing
Debug.Print Word.Application.Options.DefaultFilePath(0) & "\WordAutoCorrectList.txt に保存しました"
MsgBox Word.Application.Options.DefaultFilePath(0) & "\WordAutoCorrectList.txt に保存しました"
End Sub

Word のバージョンを指定して、そのバージョン以降に導入されたすべての機能を無効にします。

定数名 詳細 補足
wd70 0 Specifies Word for Windows 95, versions 7.0 and 7.0a. Word95のみ
wd80 2 Specifies Word 97 for Windows.?Default. Word 97
wd70FE 1 Specifies Word for Windows 95, versions 7.0 and 7.0a, Asian edition. Word for Windows 95、versions 7.0、および 7.0a のアジア版を指定します。つまりWord95/97/98

デフォルトのカスタマーテンプレートフォルダは次の項目参照

Options.DefaultFilePath property (Word)
変更するときには必ず=””という命令が必要
WdDefaultFilePath enumeration (Word)
しかしApplication.Options.DefaultFilePath(wdUserTemplatesPath)は通常Word2016で表示されるテンプレートである。

MSOENCoding

MsoEncoding enumeration
特に互換モードでThisDocCompatibility73を適用し、Document.OpenEncodingを使うとどのコードで開いているかがわかる。
全く白紙の状態だと1200が使われている。

名前 説明
msoEncodingArabic 1256 アラビア語
msoEncodingArabicASMO 708 アラビア語 (asmo)
msoEncodingArabicAutoDetect 51256 使用するアラビア語エンコードの Web ブラウザー自動検出タイプ
msoEncodingArabicTransparentASMO 720 アラビア語
msoEncodingAutoDetect 50001 使用するエンコードの Web ブラウザー自動検出タイプ
msoEncodingBaltic 1257 バルト言語
msoEncodingCentralEuropean 1250 中央ヨーロッパ言語
msoEncodingCyrillic 1251 キリル言語
msoEncodingCyrillicAutoDetect 51251 使用するキリル言語エンコードの Web ブラウザー自動検出タイプ Web browser auto-detects type of Cyrillic encoding to use.
msoEncodingEBCDICArabic 20420 拡張バイナリコード付き10進交換コード (EBCDIC) アラビア語Extended Binary Coded Decimal Interchange Code (EBCDIC) Arabic
msoEncodingEBCDICDenmarkNorway 20277 デンマーク語およびノルウェーで使用される EBCDIC
msoEncodingEBCDICFinlandSweden 20278 フィンランドおよびスウェーデンで使用される EBCDIC
msoEncodingEBCDICFrance 20297 フランスで使用される EBCDIC
msoEncodingEBCDICGermany 20273 ドイツで使用される EBCDIC
msoEncodingEBCDICGreek 20423 ギリシャ語で使用される EBCDIC
msoEncodingEBCDICGreekModern 875 モダンギリシャ語で使用される EBCDIC
msoEncodingEBCDICHebrew 20424 ヘブライ語で使用される EBCDIC
msoEncodingEBCDICIcelandic 20871 アイスランドで使用される EBCDIC
msoEncodingEBCDICInternational 500 国際 EBCDIC
msoEncodingEBCDICItaly 20280 イタリアで使用される EBCDIC
msoEncodingEBCDICJapaneseKatakanaExtended 20290 日本語カタカナ (拡張) で使用される EBCDIC
msoEncodingEBCDICJapaneseKatakanaExtendedAndJapanese 50930 日本語カタカナ (拡張) および日本語で使用される EBCDIC
msoEncodingEBCDICJapaneseLatinExtendedAndJapanese 50939 日本語ラテン語 (拡張) および日本語で使用される EBCDIC
msoEncodingEBCDICKoreanExtended 20833 韓国語 (拡張) で使用される EBCDIC
msoEncodingEBCDICKoreanExtendedAndKorean 50933 韓国語 (拡張) および韓国語で使用される EBCDIC
msoEncodingEBCDICLatinAmericaSpain 20284 ラテンアメリカおよびスペインで使用される EBCDIC
msoEncodingEBCDICMultilingualROECELatin2 870 EBCDIC 多言語 ROECE (ラテン 2)
msoEncodingEBCDICRussian 20880 ロシア語で使用される EBCDIC
msoEncodingEBCDICSerbianBulgarian 21025 セルビア語とブルガリア語で使用される EBCDIC
msoEncodingEBCDICThai 20838 タイ語で使用される EBCDIC
msoEncodingEBCDICTurkish 20905 トルコ語で使用される EBCDIC
msoEncodingEBCDICTurkishLatin5 1026 トルコ語 (ラテン 5) で使用される EBCDIC
msoEncodingEBCDICUnitedKingdom 20285 英国で使用される EBCDIC
msoEncodingEBCDICUSCanada 37 米国およびカナダで使用される EBCDIC
msoEncodingEBCDICUSCanadaAndJapanese 50931 米国およびカナダで使用される EBCDIC、および日本語
msoEncodingEBCDICUSCanadaAndTraditionalChinese 50937 米国およびカナダで、繁体字中国語で使用される EBCDIC
msoEncodingEUCChineseSimplifiedChinese 51936 中国語および簡体字中国語で使用される拡張 Unix コード (EUC)
msoEncodingEUCJapanese 51932 日本語で使用される EUC
msoEncodingEUCKorean 51949 韓国語で使用される EUC
msoEncodingEUCTaiwaneseTraditionalChinese 51950 台湾および繁体字中国語で使用される EUC
msoEncodingEuropa3 29001 Europa
msoEncodingExtAlphaLowercase 21027 拡張英小文字
msoEncodingGreek 1253 ギリシャ語
msoEncodingGreekAutoDetect 51253 使用するギリシャ語エンコードの Web ブラウザー自動検出タイプ
msoEncodingHebrew 1255 ヘブライ語
msoEncodingHZGBSimplifiedChinese 52936 簡体字中国語 (hzgb)
msoEncodingIA5German 20106 ドイツ語 (インターナショナル アルファベット No. 5、IA5)
msoEncodingIA5IRV 20105 IA5、国際参照バージョン (irv)
msoEncodingIA5Norwegian 20108 ノルウェー語で使用される IA5
msoEncodingIA5Swedish 20107 スウェーデン語で使用される IA5
msoEncodingISCIIAssamese 57006 アッサム語で使用される情報交換 (ISCII) のインド系スクリプトコード
msoEncodingISCIIBengali 57003 ベンガル語で使用される ISCII
msoEncodingISCIIDevanagari 57002 デバナガリ文字で使用される ISCII
msoEncodingISCIIGujarati 57010 グジャラート語で使用される ISCII
msoEncodingISCIIKannada 57008 カンナダ語で使用される ISCII
msoEncodingISCIIMalayalam 57009 マラヤーラム語で使用される ISCII
msoEncodingISCIIOriya 57007 オリヤー語で使用される ISCII
msoEncodingISCIIPunjabi 57011 パンジャブ語で使用される ISCII
msoEncodingISCIITamil 57004 タミール語で使用される ISCII
msoEncodingISCIITelugu 57005 テルグ語で使用される ISCII
msoEncodingISO2022CNSimplifiedChinese 50229 ISO 2022-簡易中国語で使用される CN エンコード
msoEncodingISO2022CNTraditionalChinese 50227 ISO 2022-繁体字中国語で使用される CN エンコード
msoEncodingISO2022JPJISX02011989 50222 ISO 2022-JP
msoEncodingISO2022JPJISX02021984 50221 ISO 2022-JP
msoEncodingISO2022JPNoHalfwidthKatakana 50220 ISO 2022-半角カタカナなしの JP
msoEncodingISO2022KR 50225 ISO 2022-KR
msoEncodingISO6937NonSpacingAccent 20269 ISO 6937 の非スペーシングアクセント
msoEncodingISO885915Latin9 28605 ISO 8859-15 (ラテン 9)
msoEncodingISO88591Latin1 28591 ISO 8859-1 ラテン1
msoEncodingISO88592CentralEurope 28592 ISO 8859-2 中央ヨーロッパ言語
msoEncodingISO88593Latin3 28593 ISO 8859-3 ラテン3
msoEncodingISO88594Baltic 28594 ISO 8859-4 バルト言語
msoEncodingISO88595Cyrillic 28595 ISO 8859-5 キリル言語
msoEncodingISO88596Arabic 28596 ISA 8859-6 アラビア語
msoEncodingISO88597Greek 28597 ISO 8859-7 ギリシャ語
msoEncodingISO88598Hebrew 28598 ISO 8859-8 ヘブライ語
msoEncodingISO88598HebrewLogical 38598 ISO 8859-8 ヘブライ語 (論理)
msoEncodingISO88599Turkish 28599 ISO 8859-9 トルコ語
msoEncodingJapaneseAutoDetect 50932 使用する日本語エンコードの Web ブラウザー自動検出タイプ
msoEncodingJapaneseShiftJIS 932 日本語 (Shift-JIS)
msoEncodingKOI8R 20866 KOI8-R
msoEncodingKOI8U 21866 K0I8-U
msoEncodingKorean 949 韓国語
msoEncodingKoreanAutoDetect 50949 使用する韓国語エンコードの Web ブラウザー自動検出タイプ
msoEncodingKoreanJohab 1361 韓国語 (Johab)
msoEncodingMacArabic 10004 Macintosh アラビア語
msoEncodingMacCroatia 10082 Macintosh クロアチア語
msoEncodingMacCyrillic 10007 Macintosh のキリル言語
msoEncodingMacGreek1 10006 Macintosh ギリシャ語
msoEncodingMacHebrew 10005 Macintosh ヘブライ語
msoEncodingMacIcelandic 10079 Macintosh アイスランド語
msoEncodingMacJapanese 10001 Macintosh 日本語版
msoEncodingMacKorean 10003 Macintosh 韓国語
msoEncodingMacLatin2 10029 Macintosh ラテン2
msoEncodingMacRoman 10000 Macintosh ローマ数字
msoEncodingMacRomania 20000 Macintosh ルーマニア語
msoEncodingMacSimplifiedChineseGB2312 10008 Macintosh 簡体字中国語 (GB 2312)
msoEncodingMacTraditionalChineseBig5 10002 Macintosh 繁体字中国語 (Big 5)
msoEncodingMacTurkish 10081 Macintosh トルコ語
msoEncodingMacUkraine 10017 Macintosh ウクライナ語
msoEncodingOEMArabic 864 アラビア語で使用される OEM
msoEncodingOEMBaltic 775 バルト語で使用される OEM
msoEncodingOEMCanadianFrench 863 カナダフランス語で使用される OEM
msoEncodingOEMCyrillic 855 キリル語で使用される OEM
msoEncodingOEMCyrillicII 866 キリル文字 II で使用される OEM
msoEncodingOEMGreek437G 737 ギリシャ437g で使用される OEM
msoEncodingOEMHebrew 862 ヘブライ語で使用される OEM
msoEncodingOEMIcelandic 861 アイスランド語で使用される OEM
msoEncodingOEMModernGreek 869 モダンギリシャ語で使用される OEM
msoEncodingOEMMultilingualLatinI 850 多言語ラテン I で使用される OEM
msoEncodingOEMMultilingualLatinII 852 多言語ラテン II で使用される OEM
msoEncodingOEMNordic 865 北欧言語で使用される OEM
msoEncodingOEMPortuguese 860 ポルトガル語で使用される OEM
msoEncodingOEMTurkish 857 トルコ語で使用される OEM
msoEncodingOEMUnitedStates 437 米国で使用される OEM
msoEncodingSimplifiedChineseAutoDetect 50936 使用する簡体字中国語エンコードの Web ブラウザー自動検出タイプ
msoEncodingSimplifiedChineseGB18030 54936 簡体字中国語 GB 18030
msoEncodingSimplifiedChineseGBK 936 簡体字中国語 GBK
msoEncodingT61 20261 T61 ITU T.61 Telex用のコードでユニコードの前身
msoEncodingTaiwanCNS 20000 台湾 CNS
msoEncodingTaiwanEten 20002 台湾 Eten
msoEncodingTaiwanIBM5550 20003 台湾 IBM 5550
msoEncodingTaiwanTCA 20001 台湾 TCA
msoEncodingTaiwanTeleText 20004 台湾文字放送
msoEncodingTaiwanWang 20005 台湾 Wang
msoEncodingThai 874 タイ語
msoEncodingTurkish 1254 トルコ語
msoEncodingUnicodeBigEndian 1201 Unicode ビッグエンディアン
msoEncodingUnicodeLittleEndian 1200 Unicode リトルエンディアン
msoEncodingUSASCII 20127 米国の ASCII
msoEncodingUTF7 65000 UTF-7 エンコード
msoEncodingUTF8 65001 utf-8 エンコード
msoEncodingVietnamese 1258 ベトナム語
msoEncodingTraditionalChineseAutoDetect 50950 使用する繁体字中国語エンコードの Web ブラウザー自動検出タイプ
msoEncodingTraditionalChineseBig5 950 繁体字中国語 Traditional Chinese Big 5
msoEncodingWestern 1252 Western これはHTMLに適用できる。ExcelのReloadAsで、ブックをHTMLとして読み込むとき使う

これだけがレイアウトが崩れるので単独で。
| msoEncodingEBCDICSimplifiedChineseExtendedAndSimplifiedChinese |50935|簡体字中国語 (拡張) および簡体字中国語で使用される EBCDIC|

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3