diff --git a/word/macroeditor.go b/word/macroeditor.go index 577bce6..74444b4 100644 --- a/word/macroeditor.go +++ b/word/macroeditor.go @@ -78,7 +78,19 @@ func modifyEntry(f *zip2.File, injectionTarget MacroInjectTarget) *[]byte { if err != nil { panic(err) } + + buff := bytes.Buffer{} + idx := bytes.Index(content, injectionTarget.Marker) - copy(content[idx:idx+len(injectionTarget.Marker)], injectionTarget.Replacement[0:]) - return &content + if idx < 0 { //we didn't find the tag + return &content + } + buff.Write(content[0:idx]) + buff.Write(injectionTarget.Replacement) + buff.Write(content[(idx + len(injectionTarget.Marker)):]) + + //copy(content[idx:idx+len(injectionTarget.Marker)], injectionTarget.Replacement[0:]) + + ret := buff.Bytes() + return &ret }