RDCOMClient:如何使用枚举对象或如何获取它们的对应值?

Mar*_*ann 7 r rdcomclient

RDCOMclient程序包可用于连接Windows上的COM对象。在MSDN参考中,存在许多对应于值的枚举(例如,wdColorBlue对于蓝色,请参见此处)。这些可以直接在VBA代码中使用。

如何使用RDCOMClient处理枚举对象?是否有例如从R内检索枚举的对应值的方法?有一个功能,EnumValue但我看不到如何用于此目的。

一个小例子

下面的代码创建一个新的Word文档并在其中写入一些文本。段落更改为右对齐。在此2使用与枚举对应的整数wdAlignParagraphRight。我希望能够使用例如字符串"wdAlignParagraphRight"代替value 2。有没有办法做到这一点RDCOMclient

x <- COMCreate("Word.Application")            # create application
x[["visible"]] <- TRUE
x[["Documents"]]$Add()               
x[["Selection"]]$TypeText("hello")
p <- x[["ActiveDocument"]][["Paragraphs"]]$Item(1)  
p[["Alignment"]] <- 2
Run Code Online (Sandbox Code Playgroud)

Emm*_*mel 1

您可以使用 R 包 DescTools 中的变量 wdConst 来实现此目的:

library(DescTools)
library(RDCOMClient)
x <- COMCreate("Word.Application")            # create application
x[["visible"]] <- TRUE
x[["Documents"]]$Add()               
x[["Selection"]]$TypeText("hello")
p <- x[["ActiveDocument"]][["Paragraphs"]]$Item(1)  
p[["Alignment"]] <- wdConst$wdAlignParagraphRight

names(wdConst)
   [1] "wd100Words"                                             "wd10Percent"                                           
   [3] "wd10Sentences"                                          "wd20Sentences"                                         
   [5] "wd24HourClock"                                          "wd25Percent"                                           
   [7] "wd500Words"                                             "wd50Percent"                                           
   [9] "wd70"                                                   "wd70FE"                                                
  [11] "wd75Percent"                                            "wd80"                                                  
  [13] "wdActiveEndAdjustedPageNumber"                          "wdActiveEndPageNumber"                                 
  [15] "wdActiveEndSectionNumber"                               "wdAddress1"                                            
  [17] "wdAddress2"                                             "wdAddress3"                                            
  [19] "wdAdjective"                                            "wdAdjustFirstColumn"                                   
  [21] "wdAdjustNone"                                           "wdAdjustProportional"                                  
  [23] "wdAdjustSameWidth"                                      "wdAdverb"                                              
  [25] "wdAfrikaans"                                            "wdAlbanian"                                            
  [27] "wdAlertsAll"                                            "wdAlertsMessageBox"                                    
  [29] "wdAlertsNone"                                           "wdAlignPageNumberCenter"                               
  [31] "wdAlignPageNumberInside"                                "wdAlignPageNumberLeft"                                 
  [33] "wdAlignPageNumberOutside"                               "wdAlignPageNumberRight"                                
  [35] "wdAlignParagraphCenter"                                 "wdAlignParagraphDistribute"                            
  [37] "wdAlignParagraphJustify"                                "wdAlignParagraphJustifyHi"                             
  [39] "wdAlignParagraphJustifyLow"                             "wdAlignParagraphJustifyMed"                            
  [41] "wdAlignParagraphLeft"                                   "wdAlignParagraphRight"                                 
  [43] "wdAlignParagraphThaiJustify"                            "wdAlignRowCenter"                                      
  [45] "wdAlignRowLeft"                                         "wdAlignRowRight"                                       
  [47] "wdAlignTabBar"                                          "wdAlignTabCenter"                                      
  [49] "wdAlignTabDecimal"                                      "wdAlignTabLeft"                                        
  [51] "wdAlignTablesRowByRow"                                  "wdAlignTabList"                                        
  [53] "wdAlignTabRight"                                        "wdAlignVerticalBottom"                                 
  [55] "wdAlignVerticalCenter"                                  "wdAlignVerticalJustify"                                
  [57] "wdAlignVerticalTop"                                     "wdAllAtOnce"                                           
  [59] "wdAllowOnlyComments"                                    "wdAllowOnlyFormFields"                                 
  [61] "wdAllowOnlyReading"                                     "wdAllowOnlyRevisions"                                  
  [63] "wdAlwaysConvert"                                        "wdAmharic"                                             
  [65] "wdAnagram"                                              "wdAnimationBlinkingBackground"                         
  [67] "wdAnimationLasVegasLights"                              "wdAnimationMarchingBlackAnts"                          
  [69] "wdAnimationMarchingRedAnts"                             "wdAnimationNone"                                       
  [71] "wdAnimationShimmer"                                     "wdAnimationSparkleText"                                
  [73] "wdApplyBreakingRules"                                   "wdArabic"                                              
  [75] "wdArabicAlgeria"                                        "wdArabicBahrain"                                       
  [77] "wdArabicEgypt"                                          "wdArabicIraq"                                          
  [79] "wdArabicJordan"                                         "wdArabicKuwait"                                        
  [81] "wdArabicLebanon"                                        "wdArabicLibya"                                         
  [83] "wdArabicMorocco"                                        "wdArabicOman"                                          
  [85] "wdArabicQatar"                                          "wdArabicSyria"                                         
  [87] "wdArabicTunisia"                                        "wdArabicUAE"                                           
  [89] "wdArabicYemen"                                          "wdArgentina"                                           
  [91] "wdArmenian"                                             "wdArtApples"                                           
  [93] "wdArtArchedScallops"                                    "wdArtBabyPacifier"                                     
  [95] "wdArtBabyRattle"                                        "wdArtBalloons3Colors"                                  
  [97] "wdArtBalloonsHotAir"                                    "wdArtBasicBlackDashes"                                 
  [99] "wdArtBasicBlackDots"                                    "wdArtBasicBlackSquares"                                
 [101] "wdArtBasicThinLines"                                    "wdArtBasicWhiteDashes"                                 
 [103] "wdArtBasicWhiteDots"                                    "wdArtBasicWhiteSquares"                                
 [105] "wdArtBasicWideInline"                                   "wdArtBasicWideMidline"                                 
 [107] "wdArtBasicWideOutline"                                  "wdArtBats"                                             
 [109] "wdArtBirds"                                             "wdArtBirdsFlight"                                      
 [111] "wdArtCabins"                                            "wdArtCakeSlice"                                        
 [113] "wdArtCandyCorn"                                         "wdArtCelticKnotwork"                                   
 [115] "wdArtCertificateBanner"                                 "wdArtChainLink"                                        
 [117] "wdArtChampagneBottle"                                   "wdArtCheckedBarBlack"                                  
 [119] "wdArtCheckedBarColor"                                   "wdArtCheckered"                                        
 [121] "wdArtChristmasTree"                                     "wdArtCirclesLines"                                     
 [123] "wdArtCirclesRectangles"                                 "wdArtClassicalWave"                                    
 [125] "wdArtClocks"                                            "wdArtCompass"                                          
 [127] "wdArtConfetti"                                          "wdArtConfettiGrays"                                    
 [129] "wdArtConfettiOutline"                                   "wdArtConfettiStreamers"                                
 [131] "wdArtConfettiWhite"                                     "wdArtCornerTriangles"                                  
 [133] "wdArtCouponCutoutDashes"                                "wdArtCouponCutoutDots"                                 
 [135] "wdArtCrazyMaze"                                         "wdArtCreaturesButterfly"                               
 [137] "wdArtCreaturesFish"                                     "wdArtCreaturesInsects"                                 
 [139] "wdArtCreaturesLadyBug"                                  "wdArtCrossStitch"                                      
 [141] "wdArtCup"                                               "wdArtDecoArch"                                         
 [143] "wdArtDecoArchColor"                                     "wdArtDecoBlocks"                                       
 [145] "wdArtDiamondsGray"                                      "wdArtDoubleD"                                          
 [147] "wdArtDoubleDiamonds"                                    "wdArtEarth1"                                           
 [149] "wdArtEarth2"                                            "wdArtEclipsingSquares1"                                
 [151] "wdArtEclipsingSquares2"                                 "wdArtEggsBlack"                                        
 [153] "wdArtFans"                                              "wdArtFilm"                                             
 [155] "wdArtFirecrackers"                                      "wdArtFlowersBlockPrint"                                
 [157] "wdArtFlowersDaisies"                                    "wdArtFlowersModern1"                                   
 [159] "wdArtFlowersModern2"                                    "wdArtFlowersPansy"                                     
 [161] "wdArtFlowersRedRose"                                    "wdArtFlowersRoses"                                     
 [163] "wdArtFlowersTeacup"                                     "wdArtFlowersTiny"                                      
 [165] "wdArtGems"                                              "wdArtGingerbreadMan"                                   
 [167] "wdArtGradient"                                          "wdArtHandmade1"                                        
 [169] "wdArtHandmade2"                                         "wdArtHeartBalloon"                                     
 [171] "wdArtHeartGray"                                         "wdArtHearts"                                           
 [173] "wdArtHeebieJeebies"                                     "wdArtHolly"                                            
 [175] "wdArtHouseFunky"                                        "wdArtHypnotic"                                         
 [177] "wdArtIceCreamCones"                                     "wdArtLightBulb"                                        
 [179] "wdArtLightning1"                                        "wdArtLightning2"                                       
 [181] "wdArtMapleLeaf"                                         "wdArtMapleMuffins"                                     
 [183] "wdArtMapPins"                                           "wdArtMarquee"                                          
 [185] "wdArtMarqueeToothed"                                    "wdArtMoons"                                            
 [187] "wdArtMosaic"                                            "wdArtMusicNotes"                                       
 [189] "wdArtNorthwest"                                         "wdArtOvals"                                            
 [191] "wdArtPackages"                                          "wdArtPalmsBlack"                                       
 [193] "wdArtPalmsColor"                                        "wdArtPaperClips"                                       
 [195] "wdArtPapyrus"                                           "wdArtPartyFavor"                                       
 [197] "wdArtPartyGlass"                                        "wdArtPencils"                                          
 [199] "wdArtPeople"                                            "wdArtPeopleHats"                                       
 [201] "wdArtPeopleWaving"                                      "wdArtPoinsettias"                                      
 [203] "wdArtPostageStamp"                                      "wdArtPumpkin1"                                         
 [205] "wdArtPushPinNote1"                                      "wdArtPushPinNote2"                                     
 [207] "wdArtPyramids"                                          "wdArtPyramidsAbove"                                    
 [209] "wdArtQuadrants"                                         "wdArtRings"                                            
 [211] "wdArtSafari"                                            "wdArtSawtooth"                                         
 [213] "wdArtSawtoothGray"                                      "wdArtScaredCat"                                        
 [215] "wdArtSeattle"                                           "wdArtShadowedSquares"                                  
 [217] "wdArtSharksTeeth"                                       "wdArtShorebirdTracks"                                  
 [219] "wdArtSkyrocket"                                         "wdArtSnowflakeFancy"                                   
 [221] "wdArtSnowflakes"                                        "wdArtSombrero"                                         
 [223] "wdArtSouthwest"                                         "wdArtStars"                                            
 [225] "wdArtStars3D"                                           "wdArtStarsBlack"                                       
 [227] "wdArtStarsShadowed"                                     "wdArtStarsTop"                                         
 [229] "wdArtSun"                                               "wdArtSwirligig"                                        
 [231] "wdArtTornPaper"                                         "wdArtTornPaperBlack"                                   
 [233] "wdArtTrees"                                             "wdArtTriangleParty"                                    
 [235] "wdArtTriangles"                                         "wdArtTribal1"                                          
 [237] "wdArtTribal2"                                           "wdArtTribal3"                                          
 [239] "wdArtTribal4"                                           "wdArtTribal5"                                          
 [241] "wdArtTribal6"                                           "wdArtTwistedLines1"                                    
 [243] "wdArtTwistedLines2"                                     "wdArtVine"                                             
 [245] "wdArtWaveline"                                          "wdArtWeavingAngles"                                    
 [247] "wdArtWeavingBraid"                                      "wdArtWeavingRibbon"                                    
 [249] "wdArtWeavingStrips"                                     "wdArtWhiteFlowers"                                     
 [251] "wdArtWoodwork"                                          "wdArtXIllusions"                                       
 [253] "wdArtZanyTriangles"                                     "wdArtZigZag"                                           
 [255] "wdArtZigZagStitch"                                      "wdAskToConvert"                                        
 [257] "wdAskToNotConvert"                                      "wdAssamese"                                            
 [259] "wdAtEndOfRowMarker"                                     "wdAttachedTemplate"                                    
 [261] "wdAuto"                                                 "wdAutoClose"                                           
 [263] "wdAutoDetectHighAnsiFarEast"                            "wdAutoExec"                                            
 [265] "wdAutoExit"                                             "wdAutoFitContent"                                      
 [267] "wdAutoFitFixed"                                         "wdAutoFitWindow"                                       
 [269] "wdAutomaticUpdate"                                      "wdAutoNew"                                             
 [271] "wdAutoOpen"                                             "wdAutoPosition"                                        
 [273] "wdAutoRecoverPath"                                      "wdAutospaceLikeWW7"                                    
 [275] "wdAutoSync"                                             "wdAutoVersionOff"                                      
 [277] "wdAutoVersionOnClose"                                   "wdAzeriCyrillic"                                       
 [279] "wdAzeriLatin"                                           "wdBackward"                                            
 [281] "wdBalloonPrintOrientationAuto"                          "wdBalloonPrintOrientationForceLandscape"               
 [283] "wdBalloonPrintOrientationPreserve"                      "wdBalloonRevisions"                                    
 [285] "wdBalloonWidthPercent"                                  "wdBalloonWidthPoints"                                  
 [287] "wdBaselineAlignAuto"                                    "wdBaselineAlignBaseline"                               
 [289] "wdBaselineAlignCenter"                                  "wdBaselineAlignFarEast50"                              
 [291] "wdBaselineAlignTop"                                     "wdBasque"                                              
 [293] "wdBelgianDutch"                                         "wdBelgianFrench"                                       
 [295] "wdBeneathText"                                          "wdBengali"                                             
 [297] "wdBlack"                                                "wdBlue"                                                
 [299] "wdBorderArtPath"                                        "wdBorderBottom"                                        
 [301] "wdBorderDiagonalDown"                                   "wdBorderDiagonalUp"                                    
 [303] "wdBorderDistanceFromPageEdge"                           "wdBorderDistanceFromText"                              
 [305] "wdBorderHorizontal"                                     "wdBorderLeft"                                          
 [307] "wdBorderRight"                                          "wdBorderTop"                                           
 [309] "wdBorderVertical"                                       "wdBoth"                                                
 [311] "wdBottomOfPage"                                         "wdBrazil"                                              
 [313] "wdBrazilianPortuguese"                                  "wdBrightGreen"                                         
 [315] "wdBrowseComment"                                        "wdBrowseEdit"                                          
 [317] "wdBrowseEndnote"                                        "wdBrowseField"                                         
 [319] "wdBrowseFind"                                           "wdBrowseFootnote"                                      
 [321] "wdBrowseGoTo"                                           "wdBrowseGraphic"                                       
 [323] "wdBrowseHeading"                                        "wdBrowsePage"                                          
 [325