5
का उपयोग कर एमएस वर्ड दस्तावेज़ में सभी परिवर्तनों को स्वीकार करते हुए मैं पाइथन से एमएस वर्ड (.docx) दस्तावेज़ से सभी परिवर्तनों को स्वीकार करने में सक्षम होना चाहता हूं, अधिमानतः python-docx
मॉड्यूल का उपयोग कर।पाइथन
मुझे पता है कि पर्ल में कैसे करें (संदर्भ के लिए नीचे देखें) लेकिन मेरे पायथन कार्यक्रम में मूल कोड होना चाहते हैं। विचार
कोई विचार?
use strict;
use Win32::OLE qw(in with valof OVERLOAD);
use Win32::OLE::Const 'Microsoft.Word'; # wd constants
use Win32::OLE::Variant;
$Win32::OLE::Warn = 3;
my $true = Variant(VT_BOOL, 1);
my $false = Variant(VT_BOOL, 0);
use File::Spec;
use File::Basename;
## Original & New File
my $DocFile = &transform_path($ARGV[0]);
my $NewFile = ($ARGV[1] ? &transform_path($ARGV[1]) : $DocFile);
[ -e $DocFile ] || die "*** Cannot open '$DocFile'\n";
### Transform path
sub transform_path {
my $path = shift;
if (! File::Spec->file_name_is_absolute($path)) {
my $abs = File::Spec->rel2abs($path);
$path = $abs;
}
else {
$path=~s%/+%\\%g;
}
return $path;
}
## Autoflush
$| = 1;
### opening file: try with "new" function, otherwise use "GetActiveObject"
my $Word;
eval {
$Word = Win32::OLE->GetActiveObject('Word.Application') || Win32::OLE->new('Word.Application', 'Quit');
};
if ([email protected]) {
print "Please open MS Word manually before continuing\n";
print "...Press ENTER to continue...\n";
<STDIN>;
$Word = Win32::OLE->GetActiveObject('Word.Application','Quit');
}
print "Opening '$DocFile'\n";
my $document = $Word->Documents->Open({FileName =>$DocFile, ConfirmConversions => 0});
die "Cannot open '$DocFile'\n" unless defined $document;
$document->Activate();
$Word->ActiveWindow->ActivePane->View->{Type} = wdPrintView;
### Accept all changes
print("Accepting all changes\n");
$Word->ActiveDocument->{TrackRevisions} = $false;
$Word->WordBasic->AcceptAllChangesInDoc();
### Save and Close
if ($NewFile eq $DocFile) {
$document->Save();
$document->Close();
} else {
$document->SaveAs($NewFile);
$document->Close(wdDoNotSaveChanges);
}
print "Saving in '$NewFile'\n"
## END ##
इस समारोह मेरी नहीं उपलब्ध ज्ञान 'अजगर-docx' में है की ओर जाता है। मैं एक्सेल-मैक्रो की तलाश करता हूं जो ऐसा करता है और उसे कॉल करता है। –