1. 程式人生 > >WORD2010繪製圖形不能框選和對齊解決辦法

WORD2010繪製圖形不能框選和對齊解決辦法

一、問題描述

在word2003中可以使用滑鼠框選多個圖形,可是在word2010中卻只能使用ctrl+滑鼠一個個點選,非常不便。

如果要實現框選,需要先插入一個畫布,再在畫布中繪製圖形。已經繪製的圖形可以貼上到畫布中。

插入畫布操作:插入選項卡-->插圖命令組-->形狀-->新建繪圖畫布。繪製的畫布可以拖動邊框調整大小,還可以右鍵-->設定佈局選項-->文字環繞-->浮於文字之上,這樣可以使畫布突破頁邊距的設定,甚至放大到頁邊距之外使畫布看不到,感覺比較舒服些。

框選工具在:開始選項卡-->編輯命令組-->選擇-->選擇物件。

在畫布中繪製圖形可以框選了,但是發現選中了多個圖形以後卻不能使用對齊命令(格式選項卡-->排列命令組-->對齊下的:左對齊、右對齊……等等都是灰色的) 。

而不在畫布中繪製的圖形,卻能使用對齊命令。

怎樣才能在word2010中實現既能框選又能對齊呢,魚與熊掌難道不能兼得嗎?

二、解決方法

方法一:在PPT2010中繪製圖形,兩個功能都是可用的,不用畫布直接繪製,完後再複製到word2010中。先設定下PPT的頁面與word一致(如A4):設定選項卡-->頁面設定-->幻燈片大小,在下拉列表中選擇,這樣可以直觀地看到在word中的大小,不會複製後發現太大或太小。

方法二:將文字另存為word97-2003格式,再開啟,此時兩個功能都可用,也是不用畫布直接繪製即可。缺點是如果word2010文件中有其它2003不支援的格式,就會導致文件格式失真。

方法三:使用VBA程式碼實現對齊功能(仍然需要在畫布中才能框選)。這是高人的程式碼:

Private Sub AlignHorizontal(ARate As Single)
Dim Min, Max, i As Integer
    Min = 32768
    Max = -32768
    For Each AShape In Selection.ChildShapeRange
        If Min > AShape.Left Then
            Min = AShape.Left
        End If
        i = AShape.Left + AShape.Width / 20
        If Max < i Then
            Max = i
        End If
    Next AShape
    For Each AShape In Selection.ChildShapeRange
        AShape.Left = Min * (1 - ARate) + Max * ARate - AShape.Width / 20 * ARate
    Next AShape
End Sub


Private Sub AlignVertical(ARate As Single)
Dim Min, Max, i As Integer
    Min = 32768
    Max = -32768
    For Each AShape In Selection.ChildShapeRange
        If Min > AShape.Top Then
            Min = AShape.Top
        End If
        i = AShape.Top + AShape.Height / 20
        If Max < i Then
            Max = i
        End If
    Next AShape
    For Each AShape In Selection.ChildShapeRange
        AShape.Top = Min * (1 - ARate) + Max * ARate - AShape.Height / 20 * ARate
    Next AShape
End Sub


Private Sub AlignShape(AHorizontal As Boolean, ARate As Single)
    If Selection.ChildShapeRange.Count = 0 Then
        Exit Sub
    End If
    If AHorizontal Then
        AlignHorizontal (ARate)
    Else
        AlignVertical (ARate)
    End If
End Sub


Sub AlignHorizontalLeft()
    AlignShape True, 0
End Sub


Sub AlignHorizontalCenter()
    AlignShape True, 0.5
End Sub


Sub AlignHorizontalRight()
    AlignShape True, 1
End Sub


Sub AlignVerticalTop()
    AlignShape False, 0
End Sub


Sub AlignVerticalMiddle()
    AlignShape False, 0.5
End Sub


Sub AlignVerticalBottom()
    AlignShape False, 1
End Sub

需要將以上程式碼新增到一個工具按鈕上,方便呼叫。方法如下:

(1)檔案選單-->選項-->自定義功能區-->勾選右側列表框中的“開發工具”,確定。此時多出一“開發工具”選項卡。(在功能區上點右鍵也可出現“自定義功能區”,下同)

(2)開發工具選項卡-->程式碼命令組-->Visual Basic(就是左邊第一個按鈕),在 Normal上右鍵,依次選插入-模組,然後將上面程式碼複製貼上進來。點選工具欄上磁碟按鈕儲存。關閉開發工具。

(3)新增一個新建選項卡,以便將程式碼新增到此按鈕。

(當然也可以新增到原有選項卡上,如格式選項卡,方法類似。但我不想影響原有選項卡,且便於找到命令就單獨為其新建了一個選項卡)。

檔案選單-->選項-->自定義功能區-->在右側列表框下點“新建選項卡”按鈕,此時列表中多出一個“新建選項卡(自定義)”,其下有一個"新建組(自定義)",分別右鍵-->重新命名,將選項卡命名為"圖形對齊",將組命名為"對齊"(名稱隨你喜歡自定)。

(4)在“從下列位置選擇命令”下拉列表框中選擇“巨集”,此時列出6個巨集(Normal.模組1.Align...開頭的6個),在右側列表框中選擇剛新建的"對齊"命令組。依次選中6個巨集,點“新增”按鈕,新增到“對齊”組下面。在剛新增的命令上依次右鍵-->重新命名,其中:AlignVerticalBottom--底端對齊,AlignVerticalMiddle--上下居中,AlignVerticalTop--頂端對齊,AlignHorizontalRight--右對齊,AlignHorizonCenter--左右居中,AlignHorizontalLeft--左對齊。確定退出。

完成。

三、後記

方法三較好地解決了對齊的問題,但是它沒有實現平均分佈的功能,這不能不說是一大遺憾。

另外,Word2010中貌似沒有圖形布林運算的功能,在自定義功能區對話方塊中的命令裡沒找到,不知是真沒有還是我眼拙沒找到。而圖形運算功能在PPT2010中是有的。

如果這兩個問題解決了,那WORD2010的圖形功能就算完美了吧。

原文出處見http://www.docin.com/p-690220754.html,以上是結合我的實踐重新整理的。

相關推薦

WORD2010繪製圖形不能解決辦法

一、問題描述 在word2003中可以使用滑鼠框選多個圖形,可是在word2010中卻只能使用ctrl+滑鼠一個個點選,非常不便。 如果要實現框選,需要先插入一個畫布,再在畫布中繪製圖形。已經繪製的圖形可以貼上到畫布中。 插入畫布操作:插入選項卡-->插圖命令組--

在IE6、ie7下input選擇與文字 ie更高版本無法一致的解決辦法

今天遇到了一個CSS問題,就是我的程式碼裡面Input竟然與文字無法對齊 <input id="logobck" type="checkbox"> <span>自動登入</span> 就是這樣的一個寫法,要麼是IE7對不齊,要不就是高

如何把CAD中的圖形設置為的設置方法!

在繪制圖紙的時,會把CAD中的圖形都對齊工整,不然就不怎麽美觀。一個CAD圖紙當中不僅有文字,還有圖形,圖形是比較重要的一部分,能讓人們更加直觀的了解和熟悉。CAD編輯器中怎麽設置對齊呢,要設置CAD對齊要怎麽做呢?下面小編就給大家分享CAD設置對齊的方法。 1.打開電腦中的

Mtcnn進行人臉剪裁B

pos steps app inter pil std tdi creating port 1 from scipy import misc 2 import tensorflow as tf 3 import detect_face 4 import cv2

python學習之網站的編寫(HTML,CSS,JS)(十三)----------CSS字型方式的設定

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>逆水行舟不進則退</title> </head> <b

MTCNN-將多工級聯卷積神經網路用於人臉檢測

論文連結:  摘要:由於姿勢、光照或遮擋等原因,在非強迫環境下的人臉識別和對齊是一項具有挑戰性的問題。最近的研究顯示,深度學習演算法可以很好的解決上述的兩個問題。在這篇文章中,我們利用檢測和校準之間固有的相關性在深度級聯的多工框架下來提升它們的效能。尤其是,我們利

css筆記:在flex佈局table-cell佈局中實現居中辦法

當使用 flex 佈局時,justify-content 表示主軸方向的位置佈局,align-items 表示從軸方向的佈局,text-align 表示文字佈局。 主、從軸方向佈局有三種:flex-start、center、flex-end。 可以通過fle

unity實現滑鼠物體

今天分享一下這兩天寫的一些程式碼,關於如何在unity中實現滑鼠框選物體,達到類似於在windows下選擇檔案的目標。第一次接觸unity的時候做了一個簡單的遊戲,當時就是卡在了滑鼠選擇這一步上,後來由於時間關係也沒有去深入研究,這幾天有時間又拿出來看了一下,發現其實很簡單,

提示message左問題

前言 今天需要改一個將提示框中message左對齊的需求,而蘋果SDK中並沒有公開一些屬性來設定其中message的樣式。所以其實只有拿到用來展示message的那個控制元件就好了,然後設定它的一些屬性,其實就是label。查了一些資料,特此整理一下 正文

vim 游標十字定位

"height ligth cusor set bg=dark set cursorline set cursorcolumn highlight CursorLine cterm=none ctermbg=236 highlight CursorColumn cter

Android EditText 換行問題研究

1.原生方法換行Android textview換行屬性有BreakStrategy和hyphenationFrequencyandroid:breakStrategyBreak strategy (control over paragraph layout).Must be

Clipped View的裁剪方式

ClipView的滾動原理是移動他自己這個Panel位置,然後同時移動他自己的Clip範圍(由對應的shader完成),製造內部條目滾動的效果 一個條目範圍是其內所有子元素的總範圍(Bound Box),如果子元素大小超過了Clip範圍,則子元素在Clip內左上對齊(自動

css 設定相關的文字屬性1——縮排

縮排文字:text-indent 屬性,所有元素的第一行縮排給定的長度。這一屬性不適用於行內元素和影象之內的替換元素。eg p { text-indent:10px;}會將p元素的第一行縮排10px;

C# String.Format 指定字串寬度方式

String.Format("{0,-10}",str);//這個表示第一個引數str字串的寬度為10,左對齊 String.Format("{0,10}",str);//這個表示第一個引數str字串的寬度為10,右對齊

css中中文文字英文文字辦法

不管是做移動端還是PC端的時候,有時候都都需要文字對齊,有時候在中文的情況不能自動對齊。 有時候例如一長串的英文,超連結等它也不能自動對齊,這個時候想讓它自動對齊怎麼辦呢?可能 突然要自動對,感覺摸不著頭腦。好了,下面直接上程式碼 text-align: justify;

Cocos2d—X遊戲開發之 CCLabelTTF 標籤詳解方式設定(分數顯示)(十六)

在Cocos2d—X遊戲開發中,CCLabelTTF 和 CCSprite 大概是使用最多的2個類了。標籤主要用於顯示靜態文字,可以設定字型的大小和位置等屬性。 現在,我們先來看下CCLabelTTF 的基本原始碼。 S1,從下面的程式碼可以看到 CCLabelTTF 繼

flex佈局中專案內容的區別

(效果的話直接去看最下面的圖)對齊項 align-items屬性適用於所有Flex容器,並設定Flex專案沿著每條flex 線的交叉軸的預設對齊方式。 對齊項屬性適用於所有的柔性容器,它是用來設定每個柔性元素在側軸上的預設對齊方式。 還有一位回答者的回答也很好,如

JQuery Mobile - 修改複的選中狀態無效解決辦法

今晚,在編寫JQuery Mobile程式時候,需要在程式碼裡面控制複選框的選中狀態,很簡單的程式碼啊,很快完成了!等測試程式時候傻眼了,頁面無論如何也不按照我寫的程式碼顯示出來!問題出在哪裡呢?是我寫的控制狀態程式碼有問題?檢視資料,最終使用prop來控制狀態。理應可以了吧?但是還不行,頁面還是沒有正常顯示

微信小程式圖片文字水平垂直居中解決方案

我們知道常用的居中對齊方式有很多種例如: text-align:center; align-items:center; justify-content: center; margin: auto; #子容器在父容器中居中 但是在view中的文字對齊卻不能簡單的使用text-ali

UITapGestureRecognizerUIButton的點事件衝突的解決辦法

問題描述:        檢視view上有一個UIButton例項btn,綁定了一個點選事件的響應方法buttonClicked:,由於某種需要(如點選空白區域收起鍵盤),為view添加了UITapGestureRecognizer手勢,關鍵程式碼如下: UITap